Apa cara terbaik untuk menghapus angka "0" XXX% dan menjadikannya persentase? Apa yang terjadi jika nomor tersebut adalah int?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
javascript
math
pengguna1040259
sumber
sumber
Math.floor
? Dan bukanMath.round
? Bahkan dalam contoh Anda4.954848 / 5.9797
lebih dekat dengan83%
daripada ke82%
keluaran kode Anda.~~
jauh lebih sulit dibaca daripadaMath.floor
sumber
Solusi terbaik, di mana
en
bahasa Inggris:fraction.toLocaleString("en", {style: "percent"})
sumber
fraction.toLocaleString("en", { style: "percent", minimumFractionDigits: 2 })
Lihat stackoverflow.com/a/29773435/411428Nah, jika Anda memiliki bilangan seperti
0.123456
itu adalah hasil pembagian untuk memberikan persentase, kalikan dengan 100 lalu bulatkan atau gunakantoFixed
seperti dalam contoh Anda.Berikut adalah plugin jQuery untuk melakukan itu:
Pemakaian:
sumber
jQuery.round
danjQuery.divide
danjQuery.multiply
Numeral.js adalah pustaka yang saya buat yang dapat memformat angka, mata uang, persentase, dan memiliki dukungan untuk pelokalan.
numeral(0.7523).format('0%') // returns string "75%"
numeral.js
sumber
numeral.js
27 Mar 2017. Entah perpustakaan tersebut sempurna (tidak ada cacat) atau tidak lagi aktif dipertahankan. Per 28 Jan 2019, proyek ini memiliki 135 masalah terbuka dengan yang tertua dari November 2012. Jumlah masalah terbuka tanpa komitmen dalam hampir 2 tahun menunjukkan bahwa proyek tidak lagi terpelihara. Senang diyakinkan sebaliknya.var persen = Math.floor (100 * number1 / number2 - 100) + '%';
sumber
Sebagian besar jawaban menyarankan untuk menambahkan '%' di bagian akhir. Saya lebih suka
Intl.NumberFormat()
dengan{ style: 'percent'}
sumber
@ xtrem Jawabannya bagus, tapi menurut saya
toFixed
danmakePercentage
itu umum digunakan. Tentukan dua fungsi, dan kita dapat menggunakannya di mana saja.sumber