Округлить число до 2 десятичных знаков JS - PullRequest
2 голосов
/ 28 февраля 2020

У меня есть

oninput="
    price_<?php echo esc_attr( $range_slider_id ); ?>.value=parseFloat(<?php echo esc_attr( $range_price_id ); ?>)*parseFloat(<?php echo esc_attr( $range_slider_id ); ?>.value); "

как округлить цену_ ~ .значить два знака после запятой?

У меня на выходе:

<output id="price_range_5e5851cd67084" for="range_5e5851cd67084">43.199999999999996</output>

Я попытался добавить .toFixed (2) и .round (2) .. но это не помогает ...

Ответы [ 3 ]

1 голос
/ 02 апреля 2020

найдено решение из этой топи c Почему я не могу использовать toFixed для значения HTML входного объекта? конечный результат:

price_<?php echo esc_attr( $range_slider_id ); ?>.value=Number(<?php echo esc_attr( $range_price_id ); ?>)*Number(<?php echo esc_attr( $range_slider_id ); ?>.value); price_<?php echo esc_attr( $range_slider_id ); ?>.value=Number(price_<?php echo esc_attr( $range_slider_id ); ?>.value).toFixed(2);
1 голос
/ 28 февраля 2020

использование toFixed(2)

, например

oninput="
    price_<?php echo esc_attr( $range_slider_id ); ?>.value=parseFloat(<?php echo esc_attr( $range_price_id ).toFixed(2); ?>)*parseFloat(<?php echo esc_attr( $range_slider_id ); ?>.value).toFixed(2); "
0 голосов
/ 02 апреля 2020

Если вы просто хотите отобразить число, которое вы можете использовать:

number.toLocaleString('en', {minimumFractionDigits: 2, maximumFractionDigits: 2})

Вы также можете заменить 'en' на предпочитаемую локаль https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Locale

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...