簡體   English   中英

刪除尾隨零到2位小數

[英]Remove trailing zeroes to 2 decimal positions

我希望你的幫助如下:我的價格可能超過2小數點,即0.009或0.0014

但是,我的價格也有正常價格,如2.9或14.45。

我將所有價格存儲到4個小數點,即2.9變為2.9000。

我正在尋找的是以下內容,我想顯示至少2個小數點num.toFixed(2),但是如果有超過2個小數點且那些不是0我也想顯示它們。

例:

  • 2.9000變為2.90
  • 0.0001仍為0.0001
  • 2.8540變為2.854
  • 1.0100變為1.01
  • 3.0000變為3.00

我已經嘗試過num.toFixed(2)但是這會刪除第二個之后的所有小數。

我怎樣才能實現我在示例中展示的內容?

提前致謝!

無論如何縮短它,只有與原始數字具有相同值時才返回新數字。

 function shortenOrReturn(num) { var shortNum = num.toFixed(2); return (shortNum == num) ? shortNum : num; } console.log(shortenOrReturn(2.9000)) // becomes 2.90 console.log(shortenOrReturn(0.0001)) // remains 0.0001 console.log(shortenOrReturn(2.8540)) // becomes 2.854 console.log(shortenOrReturn(1.0100)) // becomes 1.01 console.log(shortenOrReturn(3.0000)) // becomes 3.00 

我的建議在這里:

function removeZerosFromRight (input) {
      return Number(input.toString())
    }

例:

  • removeZerosFromRight(123.0011)=> 123.0011
  • removeZerosFromRight(123.0010)=> 123.001
  • removeZerosFromRight(123.0100)=> 123.01
  • removeZerosFromRight(123.1000)=> 123.1
  • removeZerosFromRight(123.02)=> 123.02

暫無
暫無

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

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