2016-10-07 16 views
-4

我有一個「1000」的字符串字符串「1000」,我需要顯示爲「10.00」/10.00(字符串或數字) - ES6解決方案?

我需要將它顯示爲10.00(作爲字符串或數字)?

您有ES6解決方案嗎?

同樣,我需要顯示「1000」可能爲10.00或「10.00」

不1000.00或「1000.00」

+0

爲什麼不'變種X = 「10.00」'? – ASDFGerte

+3

'(Number(「1000」)/ 100).toFixed(2)'。 – Xufox

+0

@ASDFGerte,它將是來自DB的變量值,而不是硬編碼。這只是一個清晰的例子。 –

回答

2

我完全從@Xufox偷這個,但我爲我自己測試his comment無論如何,他似乎並不打算髮布正式答案,所以我將在此分享我的概念驗證:

(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
的jsfiddle:https://jsfiddle.net/5kgcfL87/

+0

不錯的工作。你可以省略'Number()'調用,因爲'/'會隱式地執行。 – nnnnnn

1

假設輸入將永遠是一個字符串代表一個整數,你可以這樣做一個簡單的字符串替換操作,在適當的位置插入一個.

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

如果你想只允許一個數字的輸入,例如,"1" - >".01"那麼也許是這樣的:

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

let=>用來滿足一個ES6解決您的要求...)

相關問題