一、我們首先從經典的“四舍五入”算法講起
成都創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設公司,專注做網(wǎng)站、網(wǎng)站制作、網(wǎng)站營銷推廣,國際域名空間,網(wǎng)站空間,網(wǎng)站托管、服務器租用有關企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)公司。
1、四舍五入的情況
2、不四舍五入
第一種,先把小數(shù)邊整數(shù):
第二種,當作字符串,使用正則匹配:
注意:如果是負數(shù),請先轉換為正數(shù)再計算,最后轉回負數(shù)
再分享一個經典的解決四舍五入問題后js保留兩位小數(shù)的方法:
//四舍五入保留2位小數(shù)(若第二位小數(shù)為0,則保留一位小數(shù))
javascript是弱語言類型,就是說除了基本類型和預定義的類型,所有的變量類型只有一種var,即可以表示字符串、浮點數(shù),整數(shù),對象,數(shù)組。
可以聲明變量如下:
var intVar = 1; 整型
var floatVar = 1.0; 浮點型
var arrayVar = new Array(); //或者 var arrayVar = []; 數(shù)組
var objectVar = new obejct(); //或者var objectVar = {}; //對象
var strVar = ''; //或者 var strVar = ""; 字符串
保留兩位小數(shù)的方法是在數(shù)值或數(shù)值變量后加.toFixed(2),就行了.
完整的thirdoder函數(shù)如下(改動的地方見注釋)
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);//這里改一下
}
}
可以轉換為整數(shù)parseInt(number)和原來的數(shù)比較。
也可以轉換成字符串判斷。
var str =?number+"";
if(str.indexOf(".")==-1){
alert("整數(shù)")
}else{
alert("小數(shù)");
}
擴展資料:
判斷是否數(shù)字
function isNumber(str){
var n = Number(str);
if (!isNaN(n)){
return true;
}else{
return false;
}
}
判斷是否對象
function isObj(obj){
if(typeof obj=="object"){
return true;
}else{
return false;
}
}
判斷是否為空
function emptyFun(obj){
var obj=obj;
if(obj==""||obj==null||obj==undefined||obj=="null"||obj=="undefined"){
return true;
}else{
return false;
}
}
獲取地址欄參數(shù)
function GetQueryString(name){
var reg = new RegExp("(^|)"+ name +"=([^]*)(|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return ?unescape(r[2]); return null;
}
js中提供了對應的函數(shù),即toFixed(n)方法。參數(shù)n表示要保留幾位小數(shù)。
比如:
var?a?=123.456789;
alert(a.toFixed(4));//?四舍五入保留四位小數(shù)
//?將num四舍五入并截取n位小數(shù)。
getResult(num,n)?{
return?num.toFixed(n);
}
注意:
當?n 太小或太大時拋出異常?RangeError。正常范圍是[0,20]。
當調用該方法的對象不是?Number?時拋出?TypeError?異常。
本文名稱:javascript小數(shù),JavaScript小數(shù)不精準
文章源于:http://chinadenli.net/article2/dsdgiic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站內鏈、網(wǎng)站維護、企業(yè)建站、外貿建站、域名注冊
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)