如何在 2 个或更多小数位上显示 html 表单元素输入 type= "number" ,其值类似于整数。例如,如何 200 像 200.00 一样显示



例如:$somevalue是PHP变量,来自数据库,是$somevalue=200.00。我想在form in

<input type="number" step="0.01" value="'.$somevalue.'"> 

$somevalue显示为200.00而不是200.00

我的代码:
<?php
$somevalue=200;
$type_number='<input type="number" step="0.01" value="'.$somevalue.'">';
echo $type_number; 
?>

可以使用number_format()

    <?php
         echo number_format('200', 2, '.', ',');
         // Output 200.00
        echo number_format('200.1', 2, '.', ',');
        //output 200.10

        echo number_format('20.21', 2, '.', ',');
        //output 20.21
      $somevalue=number_format($somevalue, 2, '.', ',');
      $type_number='<input type="number" step="0.01" value="'.$somevalue.'">';
       echo $type_number; 
    ?>

更新答:

因为每个浏览器都不一样你可以用jQuery做一些编辑:

    $('input').each(function() {
      var help = $(this).val().split('.');
      if (help.length == 1) {
        $(this).val($(this).val() + '.00');
      } else if (help[1].length == 1) {
        $(this).val($(this).val() + '0');
      }
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" step="0.01" value="200">
<input type="number" step="0.01" value="200.11">
<input type="number" step="0.01" value="200.1">

您可以使用 sprintf ()

 $type_number='<input type="number" step="0.01" value="'.sprintf('%2f',$somevalue).'">';

最新更新