Similar question. I have it set where it pulls correctly to 2 decimal places on any forms or tables. However, when I try to pull a field into a mailto: it loses the formatting. I saw a previous post of yours recommending using round to solve the problem for cutting it down to 2 points. That solved that problem. Now the only issue is when there is a 1.1 as in above it is losing the 0 and I need it added back.
Right, so you will need to convert the number to text with a formula. I have a small collection of them, but here is one that should work from my notes.
Substitute in your field name where I have the field [currency field]
var number Value = Round([currency field],0.01); var text Decimals = "." & Right(ToText(Int(Abs($value) * 100)),2); var text Thousands = If(Abs($Value)>=1000,ToText(Int(Abs($Value)/1000))); var text Hundreds=Right(ToText(Int(Abs($Value))),3);
Thanks for the tip. As I needed to display negative values in red, I went with the following approach. I just check how many characters are after the decimal after formatting, then I add back ad is needed.
var text txtRounded = ToFormattedText(Round([yourvalue]*100,0.01),"none_dot"); var number wheredot=If(Contains($txtRounded,"."),Length(Right($txtRounded,".")),0); var text fmtnbr = If($wheredot = 0, $txtRounded & ".00", If($wheredot = 1, $txtRounded & "0", $txtRounded)) ;
James Holton
QuickBaseCoach App Dev./Training, Champion
so you will need to convert the number to text with a formula. I have a small collection of them, but here is one that should work from my notes.
Substitute in your field name where I have the field [currency field]
var number Value = Round([currency field],0.01);
var text Decimals = "." & Right(ToText(Int(Abs($value) * 100)),2);
var text Thousands = If(Abs($Value)>=1000,ToText(Int(Abs($Value)/1000)));
var text Hundreds=Right(ToText(Int(Abs($Value))),3);
If($Value=0,"$0.00",
IF($Value<0, "-") & "$" & List(",",$Thousands,$Hundreds) & $Decimals)
Let me know how it goes and if I need to test the formula myself.
Ursula Ll
QuickBaseCoach App Dev./Training, Champion
var text Millions = If(Abs($Value)>=1000000,ToText(Int(Abs($Value)/1000000)));
and then
.....List(",",$Millions, $Thousands,$Hundreds) & $Decimals)
Ursula Ll