siema miruny, ucze sie js-a, pisze sobie kalkulator i chce dodac dwie funkcje - ograniczenie ilosci znakow na wyswietlaczu zeby nie wychodzily liczby poza display i blokada klika operatora zeby nie bylo dwa razy ++ albo // , ktos cos pomoze? ( ͡º͜ʖ͡º) link do kodu https://jsbin.com/ruhequvoko/edit?html,css,output #javascript
@passage: juz wyswietla ( ͡°͜ʖ͡°) tylko temat jest taki ze twoje rozwiazanie w ogole nie blokuje powtorzen operatora, dalej moge wypisac dzialanie 123 **++ 123 dlaczego tak sie dzieje? xD
@oskarn91: if (!(Number.isNaN(+display.textContent.slice(-1)) && Number.isNaN(+buttonValue))) {
(chodzi o + przed buttonValue) + zamienia string na integer
jeszcze musisz udoskonalić program tak aby nie można było wstawiać + - * / jako pierwszy znak gdy na wyświetlaczu nic nie ma. Ale z tym to sobie już poradzisz
@passage: #!$%@? kto z plusa robi metode ktora zmienia typ zmiennej ja prdle xD ja przychodze do js-a ze swiata c# tam jest wszystko logiczne i poukladane a tu taki burdel juz na starcie masakra ( ಠ_ಠ)
@passage: napisalbys mi jak to zrobic z ta blokada operatora przy pustym displayu? probowalem przez godzine na rozne sposoby i nic nie idzie, zagniezdzalem ify sprobowalem switch case'a i juz mi sie skonczyly pomysly ( ͡°ʖ̯͡°)
Ogólnie gust muzyczny narodu polskiego, to, cytując Stonogę, jakieś urwa nieporozumienie. Teraz wielka afera i wszyscy zdziwieni, że na #eurowizja wysyłamy byle co. xD #polska #muzyka #zalesie
link do kodu https://jsbin.com/ruhequvoko/edit?html,css,output
#javascript
const buttonValue = button.getAttribute('data-num');
if (display.textContent.length < 10) {
display.textContent += buttonValue
}
const buttonValue = button.getAttribute('data-num');
if (display.textContent.length < 10 ) {
if (!(Number.isNaN(+display.textContent.slice(-1)) && Number.isNaN(buttonValue)) {
display.textContent += buttonValue
}
}
ps. napisałeś, że się uczysz, więc trochę własnej inwencji, trochę wysiłku ;)
if (!(Number.isNaN(+display.textContent.slice(-1)) && Number.isNaN(+buttonValue))) {
(chodzi o + przed buttonValue) + zamienia string na integer
jeszcze musisz udoskonalić program tak aby nie można było wstawiać + - * / jako pierwszy znak gdy na wyświetlaczu nic nie ma. Ale z tym to sobie już poradzisz
if (!(Number.isNaN(+display.textContent.slice(-1)) && Number.isNaN(+buttonValue) || (display.textContent.length === 0 && Number.isNaN(+buttonValue)))) {
https://jsbin.com/tamaroqelo/2/edit?html,css,output
Jeśli @oskarn91 ogarniałby regexa to myślę, że to by go zastosował, ale jeśli słabo to wtedy działa powiedzenie:
"Jeśli uważasz, że możesz rozwiązać swój problem przy pomocy wyrażeń regularnych, to masz już dwa problemy" czy jakoś tak ( ͡° ͜ʖ ͡°)