roboforum.ru

Технический форум по робототехнике.

число в строку

число в строку

loid » 06 ноя 2010, 18:58

Люди добрые, подскажите как мне число преобразовать в строку символов.

Re: число в строку

=DeaD= » 06 ноя 2010, 19:00

Может хотя-бы язык скажете? :shock:

PS: В 1С-ке это делается так Стр=""+МоёЧисло :D

Re: число в строку

galex1981 » 06 ноя 2010, 23:04

Во многих языках есть соответствующие функции...

Re: число в строку

AndreiSk » 06 ноя 2010, 23:20

Double d = 123.45;
String s = d.ToString(); :Yahoo!:

Re: число в строку

Grem » 06 ноя 2010, 23:24

Java
Код: Выделить всёРазвернуть
int xInt = 345;
String xString = Integer.toString(xInt);


Добавлено спустя 1 минуту 23 секунды:
PS: В 1С-ке это делается так Стр=""+МоёЧисло

в Java
Код: Выделить всёРазвернуть
String xStr = "" + xInt;

тоже можно, но это быдлокод :P

Re: число в строку

AndreiSk » 06 ноя 2010, 23:26

В VB (VB.NET)

Dim d As Double
d = 123.45
Dim s As String
s = CStr(d)

можно еще
s = "" + d
но это почему то быдлокод :shock:

Re: число в строку

=DeaD= » 06 ноя 2010, 23:58

Быдлокод это когда пишут неэффективно и нечитаемо. А то что я написал - это автоматическое приведение типов.
Штатная штука, изначально заложенная в язык. Грех не воспользоваться.

Re: число в строку

Grem » 07 ноя 2010, 02:04

Код: Выделить всёРазвернуть
/**
* Created by IntelliJ IDEA.
* User: grem
* Date: 06.11.2010
* Time: 23:43:22
*/
public class SpeedTest {
        public static void main(String args[]) {
                int xInt = 123;
                long startTime = System.currentTimeMillis();
                for(int i = 0; i < 1000000; i++) {
                        String xStr = "" + xInt;
                }
                long endTime = System.currentTimeMillis();
                long delTime = endTime - startTime;
                System.out.println(delTime);
                long startTime2 = System.currentTimeMillis();
                for(int i = 0; i < 1000000; i++) {
                        String xStr2 = Integer.toString(xInt);       
                }
                long endTime2 = System.currentTimeMillis();
                long delTime2 = endTime2 - startTime2;
                System.out.println(delTime2);
        }
}

Код: Выделить всёРазвернуть
176
54

Итого 176/54=3,259, т.е. в 3 с четвертью раза медленнее эта "штатная штука", которой грех не воспользоваться. Вот и неэффективность вылезла.
А в 1С - да, после такого кода
Код: Выделить всёРазвернуть
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ЗУП_ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "ОбъектЗатрат", Ссылка);

Стр=""+МоёЧисло - просто сказка :D

Re: число в строку

Angel71 » 07 ноя 2010, 03:01

такой тест некорректен как минимум по пяти пунктам :) незачёт

Re: число в строку

Grem » 07 ноя 2010, 03:11

В студию.

Re: число в строку

Angel71 » 07 ноя 2010, 04:46

компилятор, цикл (как сам в общем, так и в частностях), железо, софт, время

Re: число в строку

loid » 07 ноя 2010, 07:21

Пардон, что не сказал язык программирования. Пишу на СИ в CVAVR.
А точнее нужно число int a=12345;
поместить (или скопировать) в массив char b[];
Как это можно сделать?

Re: число в строку

Michael_K » 07 ноя 2010, 09:15

напишите такую функцию. :)

Re: число в строку

yak-40 » 07 ноя 2010, 10:05

loid писал(а):А точнее нужно число int a=12345;
поместить (или скопировать) в массив char b[];

Где-то на форуме это уже обсуждалось с примерами и решениями. не могу найти :(

Re: число в строку

Michael_K » 07 ноя 2010, 10:13

Хватит парня учить кодить - пусть учится программировать.
Такую функцию писать - десять минут.


Rambler\'s Top100 Mail.ru counter