comma instead of dot and space separator in Romance decimals

This commit is contained in:
Krasimir Angelov
2024-01-31 12:02:46 +01:00
parent b746a425d5
commit a8b0e5d94b
6 changed files with 86 additions and 21 deletions

View File

@@ -153,11 +153,12 @@ oper hyphen = BIND ++ "-" ++ BIND ;
Dig = TDigit ;
lin
IDig d = d ;
IDig d = d ** {tail = T1} ;
IIDig d i = {
s = \\o => d.s ! NCard Masc ++ BIND ++ i.s ! o ;
n = Pl
s = \\o => d.s ! NCard Masc ++ spaceIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;
D_0 = mkDig "0" ;
@@ -179,12 +180,24 @@ oper hyphen = BIND ++ "-" ++ BIND ;
} ;
IFrac d i = {
s = \\o => d.s ! NCard Masc ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
if_then_Str d.hasDot BIND (BIND++","++BIND) ++
i.s ! o ;
n = Pl ;
hasDot=True
} ;
oper
spaceIf : DTail -> Str = \t -> case t of {
T3 => SOFT_SPACE ;
_ => BIND
} ;
inc : DTail -> DTail = \t -> case t of {
T1 => T2 ;
T2 => T3 ;
T3 => T1
} ;
oper
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "ème") ;