![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam stringa datopodobnego "2011-12-07" i chciałbym wyciągnąć z niego 2011 i zwiększyć to o 1. Bardzo zależy mi na skrypcie, w którym nie występują żadne deklaracje zmiennych (nie chcę używać konwersji tego stringa do obiektu Date), właściwie to chodzi mi o to, żeby to było pojedyncze polecenie. Zauważyłem, że dobrze działa coś takiego:
Kod parseInt("2011-12-07".substring(0,4))+1; ale z pewnych względów nie mogę użyć funkcji parseInt. Czy możecie podpowiedzieć mi jakiś sposób zrobienia tego samego, co powyższy kod bez użycia parseInt, dodatkowych zmiennych i konwersji do Date? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
parseFloat
![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
I bez parseFloat oczywiście
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego nie możesz użyć ani parse*, ani utworzyć obiektu Date?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Crozin, odpowiedź na Twoje pytanie nie zmieni faktu, że interesuje mnie tylko rozwiązanie niekorzystające z tego co napisałem. Może żeby nie brnąć w niepotrzebną polemikę, załóżmy na potrzeby wątku, że mam wrednego wykładowcę JavaScriptu, który zabrania mi używać tych funkcjonalności
![]() Ten post edytował Lewap 25.10.2010, 20:07:57 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
I bez parseFloat oczywiście ![]() http://jsfiddle.net/z48eX/ proszę bez parseInt i parseFloat, są inne sposoby aby sprowadzić stringa do inta ![]() Edit: zły link. Edit: Cytat załóżmy na potrzeby wątku, że mam wrednego wykładowcę JavaScriptu, który zabrania mi używać tych funkcjonalności q*#@! debil Ten post edytował skowron-line 25.10.2010, 20:19:36 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
skowron-line, czy pod wskazanym linkiem miałem znaleźć kod:
Kod document.getElementById('a').innerHTML = Math.round(parseInt("2011-12-07".substring(0,4)))+1; bo taki tam i był i jak na moje oko, to korzysta z parseInt... [edit] Crozin, wielkie dzięki, wygląda sensownie ![]() ![]() Ten post edytował Lewap 25.10.2010, 20:21:33 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
skowron-line, czy pod wskazanym linkiem miałem znaleźć kod: Kod document.getElementById('a').innerHTML = Math.round(parseInt("2011-12-07".substring(0,4)))+1; bo taki tam i był i jak na moje oko, to korzysta z parseInt... Oczywiście że nie, poprawiłem link w poście, przez nieuwagę tam zostało parseInt. Ten post edytował skowron-line 25.10.2010, 20:24:07 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, to chyba ja nie odświeżyłem stronki. Twoje rozwiązanie też jest skuteczne, choć to Crozina uderzająco eleganckie
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Z racji na to, że wątek zboczył na temat, jak zamienić (string) "123" na (int/float) 123:
Kod > "123" Takich sposobów jest jeszcze cała masa - wszystkie wykorzystują fakt, że JS jest językiem dynamicznie typowanym i konwersja String -> Integer może zachodzić w tle.
"123" > "123" - 0 123 > "123" * 1 123 > Math.round("123") 123 > - -"123" 123 Ten post edytował Crozin 25.10.2010, 20:31:00 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:01 |