Co to są pieniądze?

Jak dla mnie, pieniądze sprowadzają się do następującego wyrażenia regularnego:

[+-]?[1-9][0-9]*(\.[0-9]{2})?

Przed pieniędzmi wirtualnymi były pieniądze plastikowe.

Przed pieniędzmi plastikowymi były pieniądze papierowe.

Przed pieniędzmi papierowymi były pieniądze szlachetno-metalowe.

Przed pieniędzmi metalowymi były pieniądze z czegokolwiek co się wydawało właściwe.

Pieniądze to sprawa umowna… i tak było zawsze.

A mimo to jakoś wszystko działa…

Reklamy

8 thoughts on “Co to są pieniądze?

  1. groszowych kwot też nie… z tego co widze [1-9] jest "obowiązkowe", czyli nie możesz mieć np. 0.33:

    echo ‚0.33’ | egrep -o ‚[+-]?[1-9][0-9]*(\.[0-9]{2})?’

    ==> 33

    btw, takie zachowanie jest celowe ?

    echo ‚1.3’ | egrep -o ‚[+-]?[1-9][0-9]*(\.[0-9]{2})?’
    ==> 1
    ==> 3

    dwie cyfry po kropce (1.30) przejdą można by oczywiście {1,2}

    echo ‚.5’ | egrep -o ‚[+-]?[1-9][0-9]*(\.[0-9]{2})?’
    ==> 5

    można sobie wymyślać… ja bym postulował coś w tym guście:

    [+-]?(?(?(?(?[1-9][0-9]*)|(?0+))\.[0-9]{1,2})|(?[+-]?(?(?[1-9][0-9]*)|(?0+)))|(?[+-]?\.[0-9]{1,2}))

    ale zapewne nie spodoba się publiczności ;) oczywiście nie uwzględniłem tego że to czy kwota ewentualnie ma krope czy przecinek zależy od symbolu waluty ;)

    Polubienie

  2. argh, zapomniałem wywalić niepotrzebne [-+], powinno toto wyglądać tak:

    [+-]?(?(?(?(?[1-9][0-9]*)|(?0+))\.[0-9]{1,2})|(?(?(?[1-9][0-9]*)|(?0+)))|(?\.[0-9]{1,2}))

    Polubienie

  3. Ugh. A nie można po prostu
    [+-]?([1-9][0-9]*|0)(\.[0-9]{2})?
    ?
    Z tymi groszami to trochę pojechałem, ale widocznie nie obchodzą mnie takie groszowe sumy ;) [Zero to coś innego… Z zerem na koncie mógłbym się identyfikować… gdyby nie moja praca ;)]

    Co do "1.3" itp. to zauważ, że nikt tak nie pisze — jeśli już, to "1.30". I chyba powinien być przecinek, a nie kropka ;)

    Polubienie

  4. nie wiem czy można.. to jest Twój blog i Ty ustalasz zasady ;)

    z tym co dałeś to może być mały problem (jest jeszcze kwestia punktu widzenia, podobnie jak np. z wiodącymi zerami, czy stałą ilością miejsc po przecinku) —
    echo ‚.33’ | egrep -o ‚[+-]?([1-9][0-9]*|0)(\.[0-9]{2})?’
    ==> 33
    echo ‚+.33’ | egrep -o ‚[+-]?([1-9][0-9]*|0)(\.[0-9]{2})?’
    ==> 33

    [+-]?(((([1-9][0-9]*)|0)\.[0-9]{2})|((([1-9][0-9]*)|0))|(\.[0-9]{2})) wygląda gorzej ale daje rade…

    Polubienie

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s