Nếu bạn muốn định dạng cơ sở 10 như sau:
m x 10 n
Sau đó, bạn có thể sử dụng một chức năng như thế này:
function writeScientificNum(p_num, p_precision) {
var n = Math.round(Math.log10(a));
var m = (p_num * (Math.pow(10,Math.abs(n)))).toFixed(p_precision);
document.getElementById("outputTxt").innerHTML = m.toString() + ' x 10<sup>' + n.toString() + '</sup>';
}
Kiểm tra nó ra: http://jsfiddle.net/u1hd4zm9/
điều Chỉ lẻ là phương pháp toFixed (trong Chrome ít nhất) sẽ không làm tròn chính xác một nửa, nhưng giảm xuống. Ví dụ: nếu bạn chạy mã này:
var test = 2.55;
alert(test.toFixed(1));
Nó sẽ in '2,5' và không '2,6' như bạn mong đợi. Tuy nhiên, nếu bạn chạy mã này:
var test = 2.5;
alert(test.toFixed(0));
Nó sẽ in 3. Vì vậy, hãy lưu ý điều đó.
Hiển thị cho chúng tôi những gì bạn đã thử. –
Cũng muốn biết thêm thông tin cụ thể. có bao nhiêu chữ số có nghĩa là số tối đa? 2,121,212 -> 2 x 10^6 hoặc 2,1 x 10^6 v.v ...? Những gì là "cắt" Tôi đoán – Sephallia