Получение суммы без округления до двух десятичных знаков - PullRequest
2 голосов
/ 24 марта 2011

Простите, если я слишком нуб по этому поводу.Недавно я опубликовал вопрос о округлении до двух знаков после запятой.Теперь, как я могу получить сумму этих чисел, но мне нужно только два десятичных знака без округления.Это JavaScript, который я работаю.

Пример: 12,876 + 36,278 = 49,154.Мне нужно, чтобы этот ответ был ... только 49.15.Или другой: 12,876 + 1 = 13,876.Мне нужно, чтобы этот ответ был ... 13,87

Вот мой код (с округлением до двух десятичных знаков)

function civ(){
civ1=Number(document.addition.scc.value);
civ2=Number(document.addition.ccc.value);
civ3=Number(document.addition.ncc.value);
civ4=Number(document.addition.vch.value);
civ5=Number(document.addition.mch.value);
civ6=Number(document.addition.nlch.value);
civ7=Number(document.addition.slch.value);
valNum1=Math.round((civ1+civ2+civ3+civ4+civ5+civ6+civ7)*10)/10;
document.addition.civ123.value=valNum1;
}

Супер спасибо тем, кто помогает мне каждый день!:)

Ответы [ 3 ]

2 голосов
/ 24 марта 2011
Math.floor(N * 100) / 100

Удалится после двух десятичных знаков;Math.floor() по сути является округлением вниз, несмотря ни на что.

1 голос
/ 19 ноября 2013

Math.floor (N * 100) / 100 может работать не всегда.

Например,

4,56 становится 4,55

0 голосов
/ 24 марта 2011

Если myNumber - это число, которое вы хотите иметь два десятичных знака ...

myNumber.toFixed(2)

должно работать.Источник: http://www.w3schools.com/jsref/jsref_tofixed.asp

...