I'm just trying to convert a float I read from Exel to a string with using a comma as decimal separator and two digits behind the comma. I try the following code
$a = 707.63790474
$l = New-Object System.Globalization.CultureInfo("de-CH")
"CH: " + $a.ToString("F2", $l)
$l = New-Object System.Globalization.CultureInfo("de-DE")
"DE: " + $a.ToString("F2", $l)
$l = New-Object System.Globalization.CultureInfo("en-US")
"US: " + $a.ToString("F2", $l)
and get
CH: 707.64
DE: 707,64
US: 707.64
But to my knowledge a comma is used as decimal separator in Switzerland, unless it is a currency cf. http://en.wikipedia.org/wiki/Decimal_mark. Do I miss something?
Type (New-Object System.Globalization.CultureInfo("de-CH")).numberFormat
to get numberformatinfo for de-CH
You'll get:
CurrencyDecimalDigits : 2
CurrencyDecimalSeparator : .
IsReadOnly : False
CurrencyGroupSizes : {3}
NumberGroupSizes : {3}
PercentGroupSizes : {3}
CurrencyGroupSeparator : '
CurrencySymbol : Fr.
NaNSymbol : n. def.
CurrencyNegativePattern : 2
NumberNegativePattern : 1
PercentPositivePattern : 1
PercentNegativePattern : 1
NegativeInfinitySymbol : -unendlich
NegativeSign : -
NumberDecimalDigits : 2
NumberDecimalSeparator : .
NumberGroupSeparator : '
CurrencyPositivePattern : 2
PositiveInfinitySymbol : +unendlich
PositiveSign : +
PercentDecimalDigits : 2
PercentDecimalSeparator : .
PercentGroupSeparator : '
PercentSymbol : %
PerMilleSymbol : ‰
NativeDigits : {0, 1, 2, 3...}
DigitSubstitution : None
As you can see both NumberDecimalSeparator and CurrencyDecimalSeparator are .
No, it looks like Switzerland uses .
as the decimal separator (like normal people do), so this is correct output:
http://publib.boulder.ibm.com/infocenter/forms/v3r5m1/index.jsp?topic=%2Fcom.ibm.form.designer.locales.doc%2Fi_xfdl_r_formats_de_CH.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With