Skip to content

Commit 322306f

Browse files
committed
emit default-value of floating-point number with InvaliantCulture, fix #212
1 parent bb7fbe8 commit 322306f

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/ConsoleAppFramework/Command.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.CodeAnalysis;
2+
using System.Globalization;
23
using System.Text;
34

45
namespace ConsoleAppFramework;
@@ -337,7 +338,24 @@ public string DefaultValueToString(bool castValue = true, bool enumIncludeTypeNa
337338
}
338339
}
339340

340-
if (!castValue) return DefaultValue.ToString();
341+
if (!castValue)
342+
{
343+
if (DefaultValue is float f)
344+
{
345+
return f.ToString(CultureInfo.InvariantCulture);
346+
}
347+
else if (DefaultValue is double d)
348+
{
349+
return d.ToString(CultureInfo.InvariantCulture);
350+
}
351+
else if (DefaultValue is decimal m)
352+
{
353+
return m.ToString(CultureInfo.InvariantCulture);
354+
}
355+
356+
return DefaultValue.ToString();
357+
}
358+
341359
return $"({Type.ToFullyQualifiedFormatDisplayString()}){DefaultValue}";
342360
}
343361

0 commit comments

Comments
 (0)