我有一个HTML数字字段。该字段值分配引发跟随错误
The specified value "101,5" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
我需要一个值以转换为french
格式(de-DE)。
我的尝试是
var dispersePercentageInput = $('.disperse-percentage');
var percentage = 101.5
dispersePercentageInput.val(Number(percentage).toLocaleString('de-DE'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" name="etude_disbursement_rate" value="100.00" class="disperse-percentage required" step="0.01" data-prefix="-" required="" id="id_etude_disbursement_rate" title="S'il vous plaît remplissez cet champ">
我期望值是101,5
,但显示为The specified value "101,5" is not a valid number.
我的输入字段是
<input type="number" name="etude_disbursement_rate" value="100.00" class="disperse-percentage required" step="0.01" data-prefix="-" required="" id="id_etude_disbursement_rate" title="S'il vous plaît remplissez cet champ">
用户输入为美国格式
答案 0 :(得分:2)
请使用“ autoNumeric.min.js”
<script src="~/Scripts/autoNumeric/autoNumeric.min.js" type="text/javascript"></script>
在HTML文件中添加输入标签:
<input type="text" class="form-control" id="numberint" data-a-dec="," data-a-sep="." data-a-sign="">
脚本代码:
<script type="text/text/javascript">
$(function() {
$('#numberint').autoNumeric('init');
});
</script>
答案 1 :(得分:1)
input:type=number
不是一个好的选择,它只能接受通用格式,但是您的格式很少见。
和number
类型还有一些其他缺陷,例如
.
e
我建议仅使用text
类型,并通过RegExp或其他方式检查格式
答案 2 :(得分:0)
var formatter = new Intl.NumberFormat('de-DE', {
minimumFractionDigits: 2
});
console.log("Output: "+formatter.format(sum));
这对我来说很好。