2013-03-29 92 views

回答

0

使用Math.floor來代替。

pad(Math.floor(num * 10)/10); 

其中pad增加.0是否需要。

請記住,Math.round可能更好。由於3.55應該是3.6

1

你也可以使用toFixed()方法,儘管這將float轉換爲字符串。

var float = 3.55 

float.toFixed(1); 

這一輪,但幾輪下來的0.5小數在任何位置

+0

可變名稱的選擇不當。如果你這樣做,JavaScript實際上並不會使它成爲一個浮點數。 – Halcyon

+0

在一個例子中,你聲明一個浮點數是有意義的......我確實說過它將它轉換爲一個字符串。 –

0

試試這個(其中x是浮動):

function format_float(float x) 
{ 
    if ((x).tostring().contains(".")) 
    {return parseFloat((x).tostring().Substring(0,indexof(".")+1)) ;} 
    else 
    {return x.toFixed(1);} 
} 
+0

toFixed做舍入,OP要截斷。 – RobG

+0

x.toFixed(1)將僅在非十進制數(整數)上執行。並且浮動物將被原封不動地返回。 –

+0

這不是OP所要的,「沒有舍入」意味着在這種情況下截斷。這個問題有點模棱兩可。 – RobG

0

要刪除一個墊功能的需要:

function toOnePlace(n) { 
    n = ('' + n).split('.'); 
    return n[0] + '.' + (n[1]? n[1].charAt(0) : 0); 
} 
相關問題