Autor | Zpráva | ||
---|---|---|---|
čert12 Profil * |
#1 · Zasláno: 27. 9. 2017, 02:33:49
mám pole kde jsou jednak čísla a i stringy, a když se pokouším volat mojepole[2].toFixed(2); tak mi to vrací chybu, proč? když v tom poli je uloženo číslo?
|
||
_es Profil |
#2 · Zasláno: 27. 9. 2017, 05:33:42
Z uvedených informácií asi príčinu chyby nikto nevyveští.
Možno v mojepole[2] nie je číslo, možno v mojepole nie je pole...
|
||
Časová prodleva: 16 dní
|
|||
čert12 Profil * |
po kliknutí připočítávám do toho pole číslo o .15 větší nebo menší (podle toho na co kliknu), ale když tam mám 2 - .15 tak výsledkem je 1.8499999 a když tam dám
poleCrSettings[0] = poleCrSettings[0].toFixed(2); TypeError: poleCrSettings[0].toFixed is not a function[Zjistit více] ještě předtim to byl řetězec ale ten jsem uspěšně zkonvertoval na číslo Number(poleCrSettings[0]), podle konzoli tam je číslo. podle console.log |
||
čert12 Profil * |
#4 · Zasláno: 13. 10. 2017, 15:55:38
Tohle funguje OK
$('#cr-zvp').on('click', function() { if (poleCrSettings[0] < 3.6) { poleCrSettings[0] += 0.15; $streva.css("font-size", poleCrSettings[0] + "rem"); } else { return; } }); $('#cr-zvp').on('click', function() { if (poleCrSettings[0] < 3.6) { poleCrSettings[0] += 0.15; poleCrSettings[0] = poleCrSettings[0].toFixed(2); $streva.css("font-size", poleCrSettings[0] + "rem"); } else { return; } }); Nevíte co je na tom špatně? |
||
juriad Profil |
#5 · Zasláno: 13. 10. 2017, 16:11:16
var a = 1; a += 0.15; a = a.toFixed(2); a += 0.15; alert(a); // vypíše "1.150.15", zamysli se proč a.toFixed(2) // selže V tom poli uchovávej vždy jen čísla, převody na řetězec a formátování řeš mimo: $('#cr-zvp').on('click', function() { if (poleCrSettings[0] < 3.6) { poleCrSettings[0] += 0.15; $streva.css("font-size", poleCrSettings[0].toFixed(2) + "rem"); } else { return; } }); |
||
čert12 Profil * |
juriad:
jo jasně protože to bere jako řetězec, ale jak je možný že to bere jako řetězec když je to tam uložené jako číslo? A co když budu chtít aby to bylo jen na dvě desetiná místa v tom poleCrSettings[0]? aha... ted sem to zkoušel v konzoli a to toFixed to převádí na řetězec. Ok, tak jo... díky už je mi to jasný kde je problém... ale je to teda zlá funkce když to číslo ořízne a převede na řetězec.... |
||
_es Profil |
čert12:
„jo jasně protože to bere jako řetězec, ale jak je možný že to bere jako řetězec když je to tam uložené jako číslo?“ No lebo tam číslo uložené nie je. Metóda toFixed vracia textový reťazec a tým prepíšeš pôvodne uložené číslo. čert12: „ale když tam mám 2 - .15 tak výsledkem je 1.8499999“ Časté potíže, zajímavosti a poučné debaty » Výsledkem výpočtu 1 - 0.9 není přesně 0.1
|
||
čert12 Profil * |
#8 · Zasláno: 14. 10. 2017, 19:09:13
_es:
„No lebo tam číslo uložené nie je.“ jo jasně... ale původně bylo... už je mi to jasný |
||
Časová prodleva: 7 let
|
0