KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is there an easy way in PowerShell to format numbers and the like in another locale? I'm currently writing a few functions to ease SVG generation for me and SVG uses . as a decimal separator, while PowerShell honors my locale settings ( de-DE ) when converting floating-point numbers to strings. Is there an easy way to set another locale for a function or so without sticking .ToString((New-Object Globalization.CultureInfo "")) after every double variable? Note: This is about the locale used for formatting, not the format string. (Side question: Should I use the invariant culture in that case or rather en-US ?) ETA: Well, what I'm trying here is something like the following: function New-SvgWave([int]$HalfWaves, [double]$Amplitude, [switch]$Upwards) { "<path d='M0,0q0.5,{0} 1,0{1}v1q-0.5,{2} -1,0{3}z'/>" -f ( $(if ($Upwards) {-$Amplitude} else {$Amplitude}), ("t1,0" * ($HalfWaves - 1)), $(if ($Upwards -xor ($HalfWaves % 2 -eq 0)) {-$Amplitude} else {$Amplitude}), ("t-1,0" * ($HalfWaves - 1)) ) } Just a little automation for stuff I tend to write all the time and the double values need to use the decimal point instead of a comma (which they use in my locale). ETA2: Interesting trivia to add: PS Home:> $d=1.23 PS Home:> $d 1,23 PS Home:> "$d" 1.23 By putting the variable into a string the set locale doesn't seem to apply, somehow.
Tags (comma-separated)
Save Edits
Cancel