javascript - masalah mengekalkan perpuluhan dalam integer
世界只因有你
世界只因有你 2017-05-19 10:12:54
0
5
563

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?

世界只因有你
世界只因有你

membalas semua(5)
淡淡烟草味

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?

某草草

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.

左手右手慢动作

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

仅有的幸福
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
我想大声告诉你

parseFloat(1.236.toFixed(2))

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan