簡體   English   中英

在 AutoNumeric javascript 中,如果輸入是 integer,如何創建顯示 integer 的格式,如果輸入是浮點數,如何創建顯示貨幣的格式?

[英]In AutoNumeric javascript, how do I create a format that shows integer if the input is an integer but currency if the input is a float?

我需要在 AutoNumeric javascript 中創建一個格式來執行以下操作:

如果文本框的輸入值為87 ,請保持無格式: 87

如果輸入值為87.6 ,則顯示為: 87.60

如果輸入值為87.65 ,則顯示為: 87.65

如果輸入值為87.654 ,則顯示為: 87.654

如果輸入值為87.6543 ,將其向下舍入或截斷: 87.654

如果輸入值為87.65432 ,再次將其舍入或截斷為87.654

除了輸入值為87.6的情況外,我已經解決了所有問題。 格式化值仍然是87.6 ,但我希望它是87.60 ,因為它是一種可以有 2 位或更多小數位的貨幣,但絕不能只有 1 位。

如果你在純 JavaScript 中進行這些操作,你可以使用Number.prototype.toFixed

(23.2).toFixed(2); // 23.20

不確定“我必須使用 AutoNumeric”是什么意思——也許您可以在您的原始帖子中詳細說明以澄清?

否則,您可以使用正則表達式檢查單個小數點,然后使用 Number.toFixed() 確保它有 2 個小數點(如果只有一個小數點)。

let v = 87.6

var regexp = /^\d+\.\d{1}$/;

// returns true
if (regexp.test(v)) {
  v = v.toFixed(2)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM