Rumah > Soal Jawab > teks badan
Saya berharap untuk mengekalkan nombor hingga dua tempat perpuluhan Jika ada perpuluhan, bundarkan jika tidak, isikan 0.
Contohnya
1=》1.00
1.234=》1.23
1.256=》1.26
Saya cuba menggunakan fungsi toFixed, dan kandungannya betul, tetapi ia mengembalikan rentetan Sebagai contoh, 1.00 ialah rentetan Apabila saya menukar Nombor(1.00) secara eksplisit, ia menjadi 1.
Jadi bagaimana saya boleh mendapatkan nombor dengan dua tempat perpuluhan dan jenis pulangan ialah nombor?
淡淡烟草味2017-05-19 10:14:54
Tekaan saya ialah: Jika ia digunakan untuk paparan halaman, maka rentetan tidak penting, bukan? Kalau guna untuk operasi pun tak kisah pun 1 (bukan 1.00) kan?
某草草2017-05-19 10:14:54
1.00 Format ini hanya boleh disimpan sebagai rentetan dan tidak boleh disimpan sebagai jenis angka.
Tidak kira apa yang anda lakukan, jika anda ingin memaparkan sesuatu seperti 1.00, anda hanya boleh menggunakan rentetan.
ringa_lee2017-05-19 10:14:54
Pertama sekali, kaedah toFixed itu sendiri adalah buggy. Kedua, struktur Nombor dalam js tidak mengandungi ketepatan Jika anda memerlukan nombor yang mengandungi ketepatan, anda boleh menulis kelas sendiri
仅有的幸福2017-05-19 10:14:54
var num=1.256;
Math.floor(Math.round(num*100))/100;
可以封装成方法:
function unitNormalization(arr,digit){
/*单位规整*/
var digit=digit||0;
var prence=Math.pow(10,digit);
if(Array.isArray(arr)){
var backArr=[];
for(var i=0;i<arr.length;i++){
backArr.push(Math.rou(Math.round(arr[i]*prence))/prence);
}
return backArr;
}else{
var num=Math.floor(Math.round(arr*prence))/prence;
return num
}
}
unitNormalization(1.253,2)//1.25
unitNormalization(1.257,2)//1.26