Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Два знака после запятой и не только (https://javascript.ru/forum/jquery/59915-dva-znaka-posle-zapyatojj-i-ne-tolko.html)

Knick_S 02.12.2015 23:09

Два знака после запятой и не только
 
Добрый день, уважаемые знатоки!
Прошу помощи в решении проблемы. Задача в том, что бы обрезать число вида -
35,5265485

в такой вид -
35,52

Кажется, что toFixed(2) поможет в этом случае, но задача в том, что бы число вида -
35

имело вид не -
35,00

а -
35

Благодарю за внимание!

рони 02.12.2015 23:26

Knick_S,
чисел с запятой не бывает :)

рони 02.12.2015 23:44

Два знака после запятой
 
Knick_S,
<script>
function fn(a) {
    a = +("" + a).split(",").join(".");
    return (a | 0) + +(a - (a | 0)).toFixed(2)
};
document.write(fn(35.00005) +'<br>')
document.write(fn('35,5265485') +'<br>')
  </script>

Knick_S 03.12.2015 00:19

Благодарю! По поводу запятых - запомню ;)

Knick_S 03.12.2015 01:26

var a = 12
var b = 6.6
var c = a * b
fn(c)
alert(c); // 79.19999999999999

var a = 12
var b = 6.55555
var c = a * b
fn(c)
alert(c); // 78.72

Выяснил случайным набором. Можете поправить? =)

И на выводе хотелось бы иметь разделение запятой, так по макету.
Я делаю это так -
var totalb = $(this).closest(".li_par").find(".row9").html().re place(".", ",");
$(this).closest(".li_par").find(".row9").html(tota lb);

Но думаю, что можно проще. Но вот так -
total.replace(".", ",")

или
var total_b = total.replace(".", ",")

почему-то не работает ( пишет total.replace(".", ",") не является функцией ).

Буду очень благодарен! =)

рони 03.12.2015 01:46

Цитата:

Сообщение от Knick_S
Можете поправить? =)

что поправить?

Knick_S 03.12.2015 02:02

Цитата:

Сообщение от рони (Сообщение 398486)
что поправить?

var a = 12
var b = 6.6
var c = a * b
fn(c)
alert(c); // 79.19999999999999

Что бы после точки было лишь две цифры.

рони 03.12.2015 02:07

Цитата:

Сообщение от Knick_S
Что бы после точки было лишь две цифры.

а сейчас сколько? не две разве?

Knick_S 03.12.2015 02:14

Я ж описал, что при обработке выражения 12*6.6 вашей функцией, выходит 79.19999999999999.

Knick_S 03.12.2015 02:19

Такой чувство, что вы не видите код, который я пишу.


Часовой пояс GMT +3, время: 08:43.