Jaki jest najlepszy sposób, aby usunąć „0” XXX% z liczby i zmienić ją w procent? Co się stanie, jeśli liczba będzie int?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
javascript
math
user1040259
źródło
źródło
Math.floor
? A nieMath.round
? Nawet w twoim przykładzie4.954848 / 5.9797
jest bliżej83%
niż do82%
twoich wyników kodu.~~
jest znacznie mniej czytelny niżMath.floor
źródło
Najlepsze rozwiązanie, gdzie
en
jest angielski język:fraction.toLocaleString("en", {style: "percent"})
źródło
fraction.toLocaleString("en", { style: "percent", minimumFractionDigits: 2 })
Zobacz stackoverflow.com/a/29773435/411428Cóż, jeśli masz taką liczbę,
0.123456
która jest wynikiem dzielenia wartości procentowej, pomnóż ją przez 100, a następnie zaokrąglij ją lub użyjtoFixed
jak w przykładzie.Oto wtyczka jQuery, która to robi:
Stosowanie:
źródło
jQuery.round
ijQuery.divide
ijQuery.multiply
Numeral.js to biblioteka, którą stworzyłem, która może formatować liczby, waluty, procenty i obsługuje lokalizację.
numeral(0.7523).format('0%') // returns string "75%"
numeral.js
źródło
numeral.js
miało miejsce 27 marca 2017 r. Albo biblioteka jest doskonała (bez błędów), albo nie jest już aktywnie utrzymywana. Na dzień 28 stycznia 2019 r. W projekcie było 135 otwartych problemów, z których najstarszy pochodzi z listopada 2012 r. Liczba otwartych problemów bez zobowiązań w ciągu prawie 2 lat sugeruje, że projekt nie jest już obsługiwany. Cieszę się, że przekonałem się inaczej.var percent = Math.floor (100 * number1 / number2 - 100) + '%';
źródło
Większość odpowiedzi sugeruje dodanie „%” na końcu. Wolałbym raczej
Intl.NumberFormat()
z{ style: 'percent'}
źródło
Odpowiedź @ xtrem jest dobra, ale myślę, że
toFixed
imakePercentage
są powszechne. Zdefiniuj dwie funkcje, z których możemy korzystać wszędzie.źródło