Извлечь 10 цифр после запятой и применить округление до 3-х позиций - PullRequest
1 голос
/ 24 ноября 2010

Я хочу реализовать логику округления до 3 десятичных позиций после округления.

Если значение десятичного знака 1 - 3 равно 000 (независимо от целого числа), а значение с 4-го по 10-е десятичное место больше 0, 3-е десятичное место на дисплее округляется вверх .

* * 1004 пример: * * 1005
1.1230000000  --> 1.123
1.1230010000  --> 1.123
1.1230600000  --> 1.124
1.0000010000  --> 1.001
1.0003000000  --> 1.003
5.0000001234  --> 5.001

с нетерпением жду

Ответы [ 2 ]

1 голос
/ 24 ноября 2010
Math.Ceiling(myNumber*1000)/1000;

должен сделать трюк для положительных чисел.Проверьте, получаете ли вы желаемое поведение для отрицательных чисел (не приведенных в ваших примерах).Если нет, используйте этаж вместо потолка для негативов.

0 голосов
/ 15 мая 2014

Я не специалист по обмену мнениями, но у меня есть общий опыт работы с языками.

не Math.ceil() используйте js Int() или любую другую функцию int().ceil () независимо от значения frac! = 0 всегда перемещается к следующему целому числу.parseInt отрубает часть ГРП, что он действительно пытался сделать.Я не могу найти какие-либо ссылки на sharepoint API на msdn.Я основываю это на спецификации JavaScript / ecmascript 262 5.1.если вам нужно количество цифр, например, 5 цифр, это

Function truncateDigits(Double n, Integer numdigits)) 
    return Int(Math.Power(10,numdigits)*n)/Math.Power(10,numdigits);
EndFunction

, но имейте в виду, что с плавающей запятой есть проблема даже с многократным добавлением или вычитанием 0,1, и вы получаете дикие результаты из-за ошибки с плавающей запятой.для работы с финансами следует использовать десятичный тип данных, если таковой имеется, десятичный тип данных, если язык предусматривает, что эта проблема не возникает.в противном случае вы можете симулировать дробную дробь с фиксированной запятой, посмотрев на большой целочисленный тип и подделав десятичную точку в середине или там, где вы хотите, и рассчитав соответственно.Для отображения потребуется создать свои собственные процедуры отображения.но он будет быстрым и ограниченным в возможностях (без триггеров, способностей, которые вы должны будете писать самостоятельно на основе целых чисел).вам нужно будет придумать свои собственные арифметические процедуры, потому что нормальные предполагают десятичную точку в неправильном месте.

...