Formatar moeda sem arredondamento
Eu tenho a necessidade de formatar um número decimal como moeda, mas eu não desejo que qualquer arredondamento ocorra no processo.
Por exemplo (exemplo, cultura é en-US)
Dim money = 1234.556789D
money.ToString("C") ' Yields $1,234.56 (notice the rounding & truncating)
money.ToString("C99") ' Yields $1,234.556789000000000000....0 -- close but not perfect, those trailing zeros are unwanted.
' I want something that would result in this...
money.ToString("??") ' Yields $1,234.56789
' likewise....
money = 0.1D
money.ToString("??") ' Yields $0.10 (notice that it at least matches the culture's currency format -- two decimal places)
Assumindo que todos os usuários deste aplicativo usariam as regras en_US, eu poderia fazer isso "??" seja algo codificado como "$ #, ## 0.00 ##################################### ########################### "- mas isso faz meu estômago se revirar. Tem algumaconstruídas em maneira de realizar o que eu sou depois?