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?

questionAnswers(5)

yourAnswerToTheQuestion