Se si desidera un formato di base 10 come questo:
m x 10 n
Quindi è possibile utilizzare una funzione come questa:
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>';
}
provarlo: http://jsfiddle.net/u1hd4zm9/
L'unica cosa strana è che il metodo toFixed (in Chrome almeno) non arrotonderà le metà esatte, ma verso il basso. Ad esempio se si esegue questo codice:
var test = 2.55;
alert(test.toFixed(1));
Stampa '2.5' e non '2.6' come previsto. Tuttavia se si esegue questo codice:
var test = 2.5;
alert(test.toFixed(0));
Stampa 3. Quindi, tenete presente.
Mostraci cosa hai provato. –
Vorrebbero anche informazioni più specifiche. cioè quante cifre significative è il massimo? 2.121.212 -> 2 x 10^6 o 2.1 x 10^6 ecc ecc? Qual è il "cut-off", immagino – Sephallia