I found a bug with your original code NIGathan.
I tried using yours but with an obscenely large number
//echo -a $money2(234803298432432432432343324032.33432234234323443223480329803298432)
returned: $234'803'298'432'432'420'000'000'000'000
But ours:
//echo -a $money(234803298432432432432343324032.33432234234323443223480329803298432)
returned: $234'803'298'432'432'432'432'343'324'032.33
Is that supposed to happen?