Технический форум по робототехнике.
loid » 06 ноя 2010, 18:58
Люди добрые, подскажите как мне число преобразовать в строку символов.
=DeaD= » 06 ноя 2010, 19:00
Может хотя-бы язык скажете?
PS: В 1С-ке это делается так Стр=""+МоёЧисло
galex1981 » 06 ноя 2010, 23:04
Во многих языках есть соответствующие функции...
AndreiSk » 06 ноя 2010, 23:20
Double d = 123.45;
String s = d.ToString();
Grem » 06 ноя 2010, 23:24
Java
- Код: Выделить всё • Развернуть
int xInt = 345;
String xString = Integer.toString(xInt);
Добавлено спустя 1 минуту 23 секунды:PS: В 1С-ке это делается так Стр=""+МоёЧисло
в Java
- Код: Выделить всё • Развернуть
String xStr = "" + xInt;
тоже можно, но это быдлокод
AndreiSk » 06 ноя 2010, 23:26
В VB (VB.NET)
Dim d As Double
d = 123.45
Dim s As String
s = CStr(d)
можно еще
s = "" + d
но это почему то быдлокод
=DeaD= » 06 ноя 2010, 23:58
Быдлокод это когда пишут неэффективно и нечитаемо. А то что я написал - это автоматическое приведение типов.
Штатная штука, изначально заложенная в язык. Грех не воспользоваться.
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С - да, после такого кода
- Код: Выделить всё • Развернуть
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ЗУП_ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "ОбъектЗатрат", Ссылка);
Стр=""+МоёЧисло - просто сказка
Angel71 » 07 ноя 2010, 03:01
такой тест некорректен как минимум по пяти пунктам
незачёт
Grem » 07 ноя 2010, 03:11
В студию.
Angel71 » 07 ноя 2010, 04:46
компилятор, цикл (как сам в общем, так и в частностях), железо, софт, время
loid » 07 ноя 2010, 07:21
Пардон, что не сказал язык программирования. Пишу на СИ в CVAVR.
А точнее нужно число int a=12345;
поместить (или скопировать) в массив char b[];
Как это можно сделать?
Michael_K » 07 ноя 2010, 09:15
напишите такую функцию.
yak-40 » 07 ноя 2010, 10:05
loid писал(а):А точнее нужно число int a=12345;
поместить (или скопировать) в массив char b[];
Где-то на форуме это уже обсуждалось с примерами и решениями. не могу найти
Michael_K » 07 ноя 2010, 10:13
Хватит парня учить кодить - пусть учится программировать.
Такую функцию писать - десять минут.