Обрезка лишних знаков после запятой>> Скажите пожалуйста, как в JavaScript, отформатировать вывод числового значения, без того, чтобы конвертировать его в строку и обрезать лишнее. >> >> Т.е. у меня число, например, : 19,53000000000000006 >> А мне нужно увидеть на экране только: 19,53 > > Я использую такую функцию, я не утверждаю что нет более нормального решения, но я его не знаю. :( > > k=Math.round(k*100)/100; > > br, > km
Порскольку мне нужно, чтобы при любом раскладе было ДВА знака после запятой (нулей, или чего еще - неважно), я написал такую вот функцию, и через нее форматирую. Работает. Лучшего и более оптимального пути тоже не знаю.
function formatNumber(num) {
.str_num = num.toString(10); .len_num = str_num.length; .pos_Point = str_num.indexOf(".",1)+1; .sub_After = str_num.substring(pos_Point, len_num); .sub_AfterTwo = str_num.substring(pos_Point+2, len_num);
..if (sub_After.length > 2) { ...if (pos_Point != 0) { ....str_num = str_num.replace(sub_After, "");... ....str_num = str_num + sub_After.replace(sub_AfterTwo, ""); ...} ..} ..if (sub_After.length == 1) { ...str_num = str_num + "0"; ..} ..if (pos_Point == 0) { ...str_num = str_num + ".00"; ..} .return(str_num); } |