can you please tell me how to remove currency formatting from a variable (which is probably treated as a string).
How do I strip out currency formatting from a variable and convert it to a true number?
Thank you.
example
PS C:\Users\abc> $a=($464.00)
PS C:\Users\abc> "{0:N2}" -f $a
<- returns blank
However
PS C:\Users\abc> $a=-464
PS C:\Users\abc> "{0:C2}" -f $a
($464.00) <- this works
PowerShell, the programming language, does not "know" what money or currency is - everything PowerShell sees is a variable name (
$464
) and a property reference (.00
) that doesn't exist, so$a
ends up with no value.If you have a string in the form:
$00.00
, what you can do programmatically is:So far so good, now we have the string
500.45
(or-500.45
if input was($500.45)
).Now, there's a couple of things you can do to convert a string to a numerical type.
You could explicitly convert it to a
[double]
with theParse()
method:Or you could rely on PowerShell performing an implicit conversion to an appropriate numerical type with a unary
+
: