2013-12-09 36 views
9

Tôi muốn định dạng một số để nó luôn có ít nhất hai chữ số thập phân.Luôn hiển thị ít nhất hai chữ số thập phân

Samples:

1 
2.1 
123.456 
234.45 

Output:

1.00 
2.10 
123.456 
234.45 
+0

Thanh toán http://numeraljs.com/ – adamb

+0

Bản sao của http://stackoverflow.com/questions/6134039/format-number-to-always-show-2-decimal-places –

+3

@DavidBarker Câu hỏi bạn đã liên kết mất 2 số thập phân bất kể nếu có nhiều hơn, đây không phải là những gì op yêu cầu. –

Trả lời

11

Bạn có thể sửa chữa để 2 hoặc số nơi hiện nay ;

var result = num.toFixed(Math.max(2, (num.toString().split('.')[1] || []).length)); 
0

Hãy thử điều này:

var num = 1.2; 
function decimalPlaces(num) { 
    var match = (''+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/); 
    if (!match) { return 0; } 
    return Math.max(
     0, 
     // Number of digits right of decimal point. 
     (match[1] ? match[1].length : 0) 
     // Adjust for scientific notation. 
     - (match[2] ? +match[2] : 0)); 
} 
if(decimalPlaces(num) < 2){ 
    num = num.toFixed(2); 
} 
alert(num); 

Đây là jsfiddle

+1

Output là '1.23', tôi muốn' 1.2345' – skmasq

+0

Vui lòng thử nó một lần nữa! Xin lỗi về lỗi của tôi. – HICURIN

0

Hãy thử giải pháp này (làm việc),

var a= 1, 
    b= 2.1, 
    c = 123.456, 
    d = 234.45; 

console.log(a.toFixed(4).replace(/0{0,2}$/, "")); 
console.log(b.toFixed(4).replace(/0{0,2}$/, "")); 
console.log(c.toFixed(4).replace(/0{0,2}$/, "")); 
console.log(d.toFixed(4).replace(/0{0,2}$/, "")); 

Nếu bạn có nhiều chữ số thập phân, bạn có thể cập nhật các số một cách dễ dàng.

+0

Đây là tối đa 4 chữ số thập phân, điều này không giải quyết được vấn đề. – skmasq

+0

Vui lòng xem dòng cuối cùng trong câu trả lời. Bạn có thể thay đổi điều này thành bất kỳ số thập phân nào, ví dụ: 'c.toFixed (10) .replace (/ 0 {0,8} $ /," ")' Số đầu tiên là số thập phân tối đa mà chúng ta có thể có (10 trong trường hợp này) và số thứ hai là số tối đa -min (8 trong trường hợp này). –

+0

Vui lòng đánh dấu câu trả lời này là câu trả lời nếu giải quyết được sự cố của bạn. –

Các vấn đề liên quan