⑴ js中將數字格式化為小數點後保留2位怎麼弄
如果保留兩位小數時需要四捨五入:
varnum=3.446242342;
num=num.toFixed(2);
如果不希望內四捨五入,則:容
varnum=3.446242342;
num=parseInt(num*100)/100;
⑵ js取一個數字小數點後兩位,但是這個數字不一定是小數
functiontest(param){
tmp=(''+param).split(".");
if(tmp.length===1){
return'00';
}elseif(tmp.length===2){
returntmp[1].substring(0,2)+'00'.substring(0,2-tmp[1].length);
}else{
return'請輸入正確數字';
}
}
⑶ js小數點保留2位,怎麼弄
小數點保留2位都可以用.toFixed(2)
改正後的zelc和Id函數如下(改動的地方見注釋)
function zelc()
{
if((document.zobel.re.value <= 0 ) || (document.zobel.lces.value <= 0 ))
{
alert("請輸入條件");
}
else
{
re = eval(document.zobel.re.value);
lces = eval(document.zobel.lces.value);
document.zobel.r1.value = eval(re*1.25).toFixed(2);//這里改一下
document.zobel.c1.value = eval((lces*1000000)/(re*re)).toFixed(2);//這里改一下
}
}
function ld()
{
if ((document.lp.impedance.value <=0) || (document.lp.attenuation.value <=0))
alert("請輸入條件 !");
else
{
impedance = eval(document.lp.impedance.value);
attenuation = eval(document.lp.attenuation.value);
xval = eval(.05 * attenuation);
document.lp.r1.value = (impedance * (((Math.pow(10, xval)) - 1) / (Math.pow(10, xval)))).toFixed(2);//這里改一下
document.lp.r2.value = (impedance *( 1 / ((Math.pow(10, xval)) - 1))).toFixed(2);//這里改一下
}
}
⑷ javascript自動計算金額(計算結果只顯示小數點後的兩位)
JS保留兩位小亂物數
對於一些小數點後有多位的浮點數,我們可能只需要保留2位,但js沒有提供這樣直接的函數,所以我們得自己寫函數實現這個功能,代碼如下:
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
return f_x;
}
功嘩衡液能:將浮點數四捨五入,取小數點後2位
用法:changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1475926) 返回 3.15
js保留2位小數(強制)
對於小數點位數大於2位的,用上面的函數沒問題,但是如果小於2位的,比如:
changeTwoDecimal(3.1),將返回 3.1,如果你一定需要3.10這樣的格式,那麼需要下面的這個函數:
function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0)
{
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2)
{
s_x += '0';
}
return s_x;
}
功能:將浮點數四捨五入,取小數點後2位,如果不足2位則補0,這個函數返回的是字元串的格式
用法:攔備changeTwoDecimal(3.1415926) 返回 3.14
changeTwoDecimal(3.1) 返回 3.10
http://apps.hi..com/share/detail/51532148
⑸ js 保留小數點2位
小數點保留兩位小數,可以直接使用js自帶的toFix()方法,但這個方法存在兼容問題,
IE的低版本瀏覽版器不支持這個函數。權如果考慮兼容,就需要自己編寫了。
下面是簡單的實現,沒有進行大數據驗證,所以僅供參考:
functionmyFix(num){
if(isNaN(parseFloat(num))){
returnfalse;
}else{
returnMath.ceil(num*100)/100;
}
}
myFix(4.5234234)//4.52
myFix(4.55555)//4.56
⑹ js小數點保留2位,怎麼辦
保留兩位小數的方法是在數值或數值變數後加.toFixed(2),就行了.
完整的thirdoder函數如下(改動的地方見注釋)
function thirdoder()
{
if((document.third.rh.value <= 0 ) || (document.third.rl.value <= 0 ) || (document.third.fc.value <= 0 ))
{
alert("請輸入條件");
}
else
{
rl = eval(document.third.rl.value);
rh = eval(document.third.rh.value);
fc = eval(document.third.fc.value);
document.third.c1.value = eval((.1061/(rh*fc))*1000000).toFixed(2);//這里改一下
document.third.c2.value = eval((.3183/(rh*fc))*1000000).toFixed(2);//這里改一下
document.third.c3.value = eval((.2122/(rl*fc))*1000000).toFixed(2);//這里改一下
document.third.l1.value = eval(( .1194*rh/fc)*1000).toFixed(2);//這里改一下
document.third.l2.value = eval(( .2387*rl/fc)*1000).toFixed(2);//這里改一下
document.third.l3.value = eval(( .0796*rl/fc)*1000).toFixed(2);//這里改一下
}
}
⑺ js中怎樣表達小數點後面的數字
在使用js進行一些數學計算時,有時候會出現整出後無限循環或小數點後面的位數太多影響顯示的情況,那麼在js代碼中怎樣對於計算所得的小數進行處理了.
一、toFixed()方法,它可以四捨五入到小數點後指定位數
var shuzi = "10.383";
document.write(shuzi.toFixed(2));
在js中會輸出:10.38 toFixed(2)表示四捨五入到小數點的後兩位.
二、round()方法,不同於toFixed,它是將小數四捨五入位整數
Math.round(0.80);
輸出為:1
雖然round方法只能四捨五入為整數,但是可以先將指定位數先化為整數進行局團四捨五入操作,然後在重新除以化為整數的倍數恢復原來的數值即可獲得指定位數的小數.
var ws=2;
var wsbs=Math.pow(10,ws);
var shuzi = 18.138571 ;
document.write( Math.round(shuzi * wsbs ) / wsbs );
ws為指定小數的位數,wsbs為10的ws次方,為了將小數先化為整數好讓round函數先四捨五入,然後再轉為原來的大小.
js代碼中除了round方法能夠將小數轉為整數,還有floor()向下取整即正數向下舍入,負數向更大的負數舍入.
Math.floor(0.80); //0
Math.floor(-6.3); //-7
ceil()與floor()相反,他是向上面取整,正數向更大的整數取整,負數向更小的負數取整.
Math.ceil(0.80); //1
Math.ceil(-7.9); // -7
同理,它們都可以像round方法一樣,通過先將小數化為整數處理後再將其重新轉為小數,只需要將上面代碼中的Math.round分別改為Math.ceil或Math.floor.
三、通過substring來直接截取,它可以獲得指定位數的小數,不對多餘的小數進行舍入操作。
var ws=2;
var shuzi = 19.138578;
document.write(shuzi.substring(0,s.(".")+ws+1));
首先用到indexOf方薯謹法獲取小數點再數字中第一次出現的位置,然後加上需要保留的小數點後面的位數以及小數點,通過substring提取字元從第一為到指定位數的字元.
四、數臘基正則來截取小數點後面的位數
var ws=2;
var shuzi = 19.138578;
blsz = num.replace("/([0-9]+\.[0-9]{"+ws+"})[0-9]*/","$1");
alert(blsz);
五、同上也是正則方法
var shuzi = 19.138578;
var ws = 2;
var blsz = new RegExp("\d+\.\d{" + ws + "}","gm");
alert(shuzi.match(blsz));
兩個正則區別在於使用的正則函數方法不同,它們都額可以得到指定位數的小數.
以上就是在js代碼中比較實用的幾種處理小數點後面的小數位數的方式.
⑻ 如何在js中設定變數值到小數點後兩位
var aaa = parseInt(bbb) / parseInt(ccc);
var value = String(aaa).replace(/^(.*\..{2}).*$/,"$1");
//value目前是string類型,若要得到數字類型請轉換下
value = Number(value);
//注意:盡量不要用Number(xxx).toFixed(2) 這個方內法會四舍五容入的
⑼ 如何在js中設定變數值到小數點後兩位
第一種方法:javascript實現保留兩位小數一位自動補零代碼實例:
第一種方法介紹一下如何實現對數字保肆春留兩位小數效果,如果數字的原本小數位數不到兩位,那麼缺少的就自動補零,這個也是為了統一的效果,先看代碼實例:
function returnFloat(value){
var value=Math.round(parseFloat(value)*100)/100;
var xsd=value.toString().split(".");
if(xsd.length==1){
value=value.toString()+".00";
return value;
}
if(xsd.length>1){
if(xsd[1].length<2){
value=value.toString()+"0";
}
return value;
}
}
var num=3.1;
console.log(returnFloat(num));
上面的代碼實現了我們的要求,下面介紹一下它的實現過程。
代碼注釋:
1、function returnFloat(value){},參數是要被轉換的數字。
2、var value=Math.round(parseFloat(value)*100)/100,這個應該是函數的核心之處,parseFloat(value)將參數轉換為浮點數,因為參數有可能是字元串,乘以100是因兆正為要保留兩位小數裂猜耐,先將小數點向右移動兩個位數,然後再利用Math.round()方法實行四捨五入計算,最後除以100,這樣就實現了保留保留兩位小數,並且還具有四捨五入效果,但是這個並不完美,如果參數數字本身的小數位數大於等於2是可以的,如3.1415,但是如3或者3.0這樣的還是沒有完美的實現,繼續看下面。
3、var xsd=value.toString().split("."),使用點"."value分隔成一個數組。
4、if(xsd.length==1){value=value.toString()+".00";return value;},如果數組的長度是1,也就是說不存在小數,那麼就會為這個數字添加兩個0,例如3會被轉換成3.00。
5、
if(xsd.length>1){
if(xsd[1].length<2){
value=value.toString()+"0";
}
return value;
}
if(xsd.length>1)用來判斷數字的長度是否大於1,也就是數字是否具有小數,如有小數,但是小數的位數小於2,也就是類似3.1這樣的,就會在後面加一個0,也就是會轉換為3.10。
第二種方法:匯總JS中格式化數據保留兩位小數的函數的多種方法
最好方法:
保留兩位好像是這樣吧
var a = 9.39393;
alert(a.toFixed(2));
說明:
alert(Number.toFixed(9.39393));
返回的是9.39
但是只有ie5.5以上的版本才支持。
⑽ js 怎麼截取後面2位小數點
2.232,你確定需要的結果是2.32?而不是2.23?
如果專是屬2.23:
var val = 2.232;
val = val.substring(0,val..indexOf(".")+3);
如果是2.32:
var val = 2.232;
var temp_val1= val.substring(0,val.indexOf(".")+1);
var temp_val2= val.substring(val.indexOf(".")+2,val.length());
val = temp_val1+temp_val2;