27. februar 2003 - 11:02Der er
17 kommentarer og 1 løsning
decimaltal (komma og punktum)
Jeg søger en måde hvorpå det kan lade sig gøre at benytte danske kommaer i sine decimaltal, der ved compilering omsættes til punktummer, så compileren kan forstå det.
Jeg for så til compileringsfejl fordi jeg har brugt komma.
Er der nogen der har nogen god forslag, for jeg kan da ikke være den eneste der er stødt på dette problem!?!
Nogle compilere har en preprocessor som tillader redefinition af karakterer og her kan du bytte om på "." og "," .
Generelt er det en dum ide. Væn dig til at bruge "." som decimal punkt, det bliver brugt sådan i alle andre sprog og hvis nogen andre læser dit program , kan det give forståelses problemer.
ved et operator overload ville man være nødt til at fortælle compileren at man ville bruge operatoren og ikke et opremsningskomma - dvs kaldet skulle skrives :
Sorry, er opvokset med PL/1, der hedder det en karakter (character). Ved godt at i unge EDB-fyre kalder tingene noget andet ;-), men det er svært at lære en gammel hund nye tricks.
problemet er at hvis du redefinerer "," med "." i et preprocessor statement, så gælder det alle steder ! d.v.s. at argumenter i funktions kald skal adskilles med "."
Arnvig : jeg redefinere ikke "," men laver en makro der kræver at der er 2 argumenter adskilt af ',' men du har ret i at hvis det var det han ville have så giver det mange problemer.
Det samme som jeg har lavet her kan også laves hvis man selv laver en float class, hvor constructoren tager flere argumenter.
class Float { public: Float(long heltal, long decimal); }
segmose: Jeg kan godt se at du laver en preprocessor macro, men det var ikke kommentar til din løsning, bare en generel betragning omkring redefinition af seperator tegn.
Som så mange andre har sagt. Det _kan_ (sådan da) lade sig gøre, men lad være.... Hvis der nogen sinde er andre der skal vedligeholde din kode bliver det lidt af et mareridt for dem.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.