将数字四舍五入到小数点后两位JS

时间:2020-02-27 23:32:11

标签: javascript php jquery wordpress woocommerce

我有

composer require divix1988/laminas-smarty-module

如何将price_〜.value舍入到小数点后两位?

我的输出是:

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); "

我试图添加.toFixed(2)和.round(2)..但这没有帮助...

3 个答案:

答案 0 :(得分:1)

使用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); "

答案 1 :(得分:1)

从该主题Why can't I use toFixed on an HTML input object's value?找到了解决方案最终结果:

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);

答案 2 :(得分:0)

如果只是显示数字,则可以使用:

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

您也可以将“ en”替换为您首选的语言环境 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Locale