Russian Qt Forum

Qt => Общие вопросы => Тема начата: juvf от Июнь 11, 2010, 07:24



Название: Как можно из floata получить QString?
Отправлено: juvf от Июнь 11, 2010, 07:24
в теме вопрос. Нужно чтоб строка получилась так

float        QString
123456      123456
12345.6     12345
1234.56     1234.6
123.456     123.46
12.3456     12.346
1.23456     1.235
0.12345     0. 123
0.01234     0.012
0.00123     0.001
0.00012     0

Ну в общем как-то так. С помощью sprintf и char* можно добится подобного форматировния. Можно ли подобного добится средствами Qt или std?


Название: Re: Как можно из floata получить QString?
Отправлено: ufna от Июнь 11, 2010, 07:59
есть метод через попу :)

ты же знаешь к какому разряду будешь округлять? Ну возьмум к примеру 1.23456 --> 1.235

сделаем просто float x = (int)(1.23456 * 1000) / 1000;



только вместо (int) там функцию округления надо юзать, забыл какую.


Название: Re: Как можно из floata получить QString?
Отправлено: antzol от Июнь 11, 2010, 08:25
Тут и округление будет
QString & QString::setNum ( float n, char format = 'g', int precision = 6 )


Название: Re: Как можно из floata получить QString?
Отправлено: zenden от Июнь 11, 2010, 10:37
а что нельзя использовать QString::sprintf ??


Название: Re: Как можно из floata получить QString?
Отправлено: pastor от Июнь 11, 2010, 10:56
а что нельзя использовать QString::sprintf ??

Цитировать
Warning: We do not recommend using QString::sprintf() in new Qt code.