Как добиться одинаковых результатов округления двойного преобразования в строку в C++ и C#?C#

Место общения программистов C#
Ответить
Anonymous
 Как добиться одинаковых результатов округления двойного преобразования в строку в C++ и C#?

Сообщение Anonymous »

Я хочу преобразовать двойное число в строку с заданным количеством десятичных знаков как в C++, так и в C#, и хочу, чтобы результаты этих преобразований были одинаковыми на обоих языках. Особенно преобразование в C++ должно быть равно преобразованию в C#.
В качестве примера я хочу преобразовать двойное значение 3,15 в строку с одним десятичным знаком.
В C# я могу сделать следующее:

Код: Выделить всё

// C#
double d = 3.15;
string str0 = d.ToString("0.0");
Тогда результирующая переменная str0 будет содержать «3.2». Это ожидаемый результат округления.
В C++ существует несколько способов такого преобразования:

Код: Выделить всё

// C++
double d = 3.15;

char str1[256];
sprintf(str1, "%.1f", d);

std::stringstream stream;
stream 

Подробнее здесь: [url]https://stackoverflow.com/questions/79325938/how-to-achieve-same-double-to-string-conversion-rounding-results-in-c-and-c[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»