Crystal Reports -- displaying one decimal in my formula field
I have the following in my formula field:
toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/(Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100) + " %"
The output is something like: 6.32 %
Instead of having 2 numbers after the decimal, is there any way to only have 1? I tried the following to no luck:
toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({D开发者_如何学编程ataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/((Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100),1) + " %"
b/c the output kept showing me 0.0 % for everything
Next I tried this:
(toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/(Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100) + " %"),1)
No luck with that either.
Anybody have any ideas?
Have you tried using the number formatting options you get when you right-click on the field and select 'format object'? It is way easier than trying to get ToText() to do what you want.
Edit: If you want to use ToText(), try using a format string instead of 1 as your second parameter - I think this will do it:
ToText(sum(...) + sum(...), "0.0")
I like Ray's solution, but for completeness there is also this hacky method; which quite obviously is the wrong way to go if you also need a currency symbol:
- Right-click on the numeric field and select Format.
- Go to the Number tab and click Customize.
- Click the Currency Symbol tab.
- Click Enable Currency Symbol.
- Change the Currency Symbol to '%'
- Change Position combobox to '-123%'
- Click OK, OK to exit and save.
Just try this:
- Right click on the numeric field.
- Click Customize button.
Right the below formula in decimal formula field.
1 or if <yourfieldname>="condition" then 1 else 2
Make sure rounding decimal field is 0.1 or your choice.
精彩评论