cari

Rumah  >  Soal Jawab  >  teks badan

javascript - masalah mengekalkan perpuluhan dalam integer

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?

世界只因有你世界只因有你2790 hari yang lalu589

membalas semua(5)saya akan balas

  • 淡淡烟草味

    淡淡烟草味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?

    balas
    0
  • 某草草

    某草草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.

    balas
    0
  • ringa_lee

    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

    balas
    0
  • 仅有的幸福

    仅有的幸福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

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:14:54

    parseFloat(1.236.toFixed(2))

    balas
    0
  • Batalbalas