字符串“1000”,我需要将其显示为“10.00”/10.00(字符串或数字) - ES6解决方案?

时间:2016-10-07 01:41:19

标签: javascript ecmascript-6

我有一串“1000”

我需要将其显示为10.00(作为字符串或数字)?

你有ES6解决方案吗?

同样,我需要将“1000”显示为10.00或“10.00”

不是1000.00或“1000.00”

2 个答案:

答案 0 :(得分:2)

我完全从@Xufox偷了这个,但无论如何我正在为自己测试his comment,他似乎也懒得发布正式答案,所以我&# 39;这里只是分享我的概念验证:

(Number("1000")/100).toFixed(2)可以解决问题。



$("#input").on("input",function(){
  $("#output").val((Number($(this).val())/100).toFixed(2));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="input" /> input<br /><br />
<input type="text" id="output" disabled="disabled" /> output
&#13;
&#13;
&#13; jsfiddle:https://jsfiddle.net/5kgcfL87/

答案 1 :(得分:1)

假设输入始终是表示整数的字符串,您只需执行简单的字符串替换操作即可在适当的位置插入.

input.replace(/\d\d$/,".$&")

如果您想仅允许输入一位数,例如"1" - > ".01"然后可能是这样的:

&#13;
&#13;
let insertDot = s => s.length === 1 ? ".0" + s : s.replace(/\d\d$/,".$&");

console.log(insertDot("1000"));
console.log(insertDot("12345"));
console.log(insertDot("19"));    
console.log(insertDot("9"));    
&#13;
&#13;
&#13;

let=>用于满足您对ES6解决方案的要求......)