Round a number to 2 decimal places JS

Viewed 100

I have

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

how to round price_~.value two decimal places?

I have on output:

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

I have tried to add .toFixed(2) and .round(2) .. but it doesn't help...

3 Answers

use toFixed(2)

such as

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

found solution from this topic Why can't I use toFixed on an HTML input object's value? the final result:

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