Autor Zpráva
Pavel Dumbrovský
Profil
Dobrý den,
prosím o radu: Mám JS kalkulačku, kde jsou různé funkce, ale je tam přirozený logaritmus (log) a já potřebuju dekadický logaritmus, zřejmě LOG10E - jenže s tím to nefunguje, zřejmě proto, že to je konstanta. Nenapadá někoho, co s tím?
function log(form) {
form.display.value = Math.log(form.display.value);}

funguje
function log(form) {
form.display.value = Math.LOG10E(form.display.value);}

nefunguje

Díky moc.
Pavel Dumbrovský
Profil
Už jsem na to přišel..
form.display.value = Math.log(form.display.value)/Math.log(10);}
DoubleThink
Profil *
Je to tak, ale je vhodné použít tu konstantu, když už existuje:

Math.log(form.display.value)/Math.LOG10E
Math.log(form.display.value)/Math.LN10
ah01
Profil
DoubleThink:
Jenže LOG10E je dekadický legaritmus e. Tady je třeba přirozený logaritmus 10, což je Math.LN10.
_es
Profil
DoubleThink, ah01:

Existujú dve konštanty na toto použiteľné: Math.LN10 a Math.LOG10E.
Sú to navzájom obrátené čísla.
Dekadický logaritmus čísla x sa dá pomocou týchto konštánt vyrátať ako Math.log(x)/Math.LN10 alebo ako Math.log(x)*Math.LOG10E.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0