小数点 - Wikipedia https://ja.wikipedia.org/wiki/%E5%B0%8F%E6%95%B0%E7%82%B9
"国際単位系(SI)では小数点について、イギリス式でもフランス式でも、どちらでもよいと規定している。"
TOMLの数値型、 https://toml.io/en/v1.0.0#float に小数点の文字が明示されてなくて大丈夫かなと思ったけど、ABNF文法にはちゃんと書いてあった
paizaioにベトナムロケールでカンマ怖いのデモ書いた><;
https://paiza.io/projects/1gHTk7HzwOwqqAedKml0aA
本題のベトナムロケールでも試した><;
vi-VN
0123,456
ちゃんと , になっちゃった!!!><;
C# で数値を文字列にしたいときは必ず明示的にCultureInfo.InvariantCultureをつけないと危険!!!><;
(当たり前だけど、つければちゃんとベトナムロケールでも0123.456になった><)
CultureInfo culture = CultureInfo.GetCultureInfo("da-DK");
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
ってして、
double d = 123.456;
Console.WriteLine(Thread.CurrentThread.CurrentUICulture);
Console.WriteLine(d.ToString("0000.000"));
ってしたら
da-DK
0123,456
って出た!><;
自己解決しました!><;
c# - How set a culture for entire winform application - Stack Overflow https://stackoverflow.com/questions/51602944/how-set-a-culture-for-entire-winform-application
CultureInfo.InvariantCulture忘れず必ずつけないと危険!?><;
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/custom-numeric-format-strings#SpecifierPt
' "." カスタム指定子
"." カスタム書式指定子は、ローカライズされた小数点を結果の文字列に挿入します。'
・・・・・・><;