Я хочу преобразовать любое входное число с любым числом десятичных знаков в строку, содержащую только 2 знака после запятой;если я сделаю:
(13399.25f). ToString ("#. 00") возвращает "13399,25" -> ОК
НО,
(133995.25f) .ToString ("#. 00") возвращает "133995,30" -> KO!
Кроме того, я вижу, что
(133995.25d) .ToString ("#. 00") возвращает "133995,25" -> OK
Здесь говорится, что "float" имеет "точность" 7 цифр ... число 133995.25f имеет 8 цифр ... Итак, является ли Precision количеством цифр, которое имеет число в целом? Я думал, что это было количество цифр только для десятичной части ...:
https://www.codingame.com/playgrounds/14640/c-professional---numbers/numeric-types-in-c
Кроме того, «шкала» указывает, что число может достигать ± 3,4x1038намного меньше, чем мой номер ... Почему это?
Кроме того, эта статья смущает меня еще больше: C # float.ToString Значения округления
Предлагает использовать формат "G9", но если мой ввод имеет nr. десятичных знаков, отличных от 2, я бы не получил выходную строку с двумя десятичными знаками ...
Спасибо!