• 1000 целые части обрабатываются и подвергаются влиянию в процессе округления ).
Итак, обычно (округление дробей в большую сторону):
12.9768 Rounded to 3 decimal places is 12.977
Rounded to 2 decimal places is 12.98
Rounded to 1 decimal place is 13.0 <== Whole part also changed
Rounded to 0 decimal place is 13 <== Whole part also changed
В приведенных выше примерах вся часть также изменяется, когда дробная часть достигает целого числа. Я ищу округление (с использованием javascript) из только дробной части числа (до количества указанных мест), но без влияния на целую часть числа , так (приведенные выше примеры станут):
12.9768 Rounded to 3 decimal places is 12.977
Rounded to 2 decimal places is 12.98
Rounded to 1 decimal place is 12.9
Rounded to 0 decimal place is 12
Rounded to 7 decimal places is 12.9768000
В приведенном выше дробная часть будет округлена до любых требуемых десятичных знаков , но вся часть n umber не будет затронут .
Требуются конечные нули, поэтому формат вывода будет строковым.
Этот процесс ограничивает округление дробной частью числа с плавающей запятой с помощью предельный предел / предел в том смысле, что округление не распространяется на всю часть; т. е. максимальная доля всегда будет 0,999 и т. д. c.
Ситуация, в которой это используется, заключается в том, что в магазине ценники должны отображаться как NN. часть вычислений он не может создать целое число. Таким образом, если первоначальная цена покупки составляет 22,45 доллара США, и округление из-за каких-либо расчетов не должно приводить к тому, что 22 доллара США станут 23. Таким образом, это может быть любое значение до 22,99. Это пример, в котором дробь равна 2 десятичным знакам (т. Е. В центах США), но если дробь не равна 2, требуется универсальное c и гибкое решение для округления только дробной части, не касаясь всей части.
Спасибо.