Formatting the number in SSRS - ssrs-2008

I want to format a numeric value to two decimal points (it is an integer variable)
I am using following expression (as used to use in vb6) but it is not working. Please advise how to fix it.
="Total Drawings Rs. " & format(Parameters!TotalDrawings.Value,"###########.00")"
Thanks
Furqan

You use .net format string, not VB6/VBA
= "Total Drawings Rs. " + Format(CDbl(Parameters!TotalDrawings.Value), "##########0.00")
Edit: fixed concat + trailing " + CDbl

Related

Crystal Reports - Remove Carriage Returns

I am writing a report for my company right now and am running into issues with one data set in particular. Our accounting team puts unnecessary (as I see it) carriage returns when typing in data in one of our MISC_COMMENT fields.
Example data:
2 Returns
For warping
Cost = $1
RGA# 123
This comes out on the report as such... The report requester has asked that the data be as follows:
2 Returns For Warping Cost = $1 RGA 123
Is there anyway to strip out the carriage returns? Data will vary in characters and length. Not sure if a substring is still applicable then?
Thanks for the help!
Use the replace function to replace one or both of Chr(10) and Chr(13) depending on whether one or both exist inside your text.
Replace(Replace(MISC_COMMENT, Chr(13), " "), Chr(10), " ")

How can I remove whitespace between static text elements on the same row? [duplicate]

Can nay one help to add multiple DB field values in one field.
Say i have 3 DB fields:
Name
Address
Age
I want to display all 3 fields in the same field:
John Peter 28.
I tried doing 3 fields next to each other and it did work but when i wrap text. It looks really bad:
Name
Jo.pe.28
hn te
r
My requirement is show data in one text field, for example: John.Peter.26
If you want to put them in one line (which i guess is the case), its straight forward.
Put this as a text box $F{Name} + "." + $F{Address} + "." + $F{Age}.toString()
Or you can use string concatenation (I dont personally like the syntax, take more effort to understand) $F{Name}.concat(".").concat($F{Address}).concat(".").concat($F{Age})
The SQL Method
Why not concatenate all the 3 fields you need in the query you use itself like (Assuming you are with Postgres.),
select (name || address|| to_char(age)) as data from my_table
In Ireport
As suggested,
$F{Name} + "." + $F{Address} + "." + $F{Age}.toString()
too works if needed to make it work from the report.
Make sure that all your fields are of same data type.

How to parse and format an integer with zero decimal places in GWT?

Using GWT NumberFormat, I need to have a decimal format that basically accepts no decimal point character and zero decimal places. For example, 123 should be valid but 123.4 and 123.9 should be rejected. Also, rounding of decimal values into nearest integer is not an option.
I thought the following would work, but it does not:
double val = NumberFormat.getFormat("#0").parse(str);
I definitely need it to support GWT i18n formatting, such as "," separators for large numbers. The input "str" is for example the argument coming to a Parser.parse(text) method, similar to the one in IntegerParser. IntegerParser does not validate zero decimal places properly and only rounds the value rather than rejecting numbers with decimal point.
Any ideas?
Use IntegerParser.
It uses the following method under the covers:
(int) Math.rint(NumberFormat.getDecimalFormat().parse(object.toString()));
UPDATE:
Also, you can use LongBox instead of TextBox.
The way I finally solved my problem was by explicitly looking for decimal separator in the input string before trying to parse it using NumberFormat. Here is the code:
final String DECIMAL_SEPARATOR =
LocaleInfo.getCurrentLocale().getNumberConstants().decimalSeparator();
if (str.contains(DECIMAL_SEPARATOR))
throw new ParseException("Invalid integer value (" + str + ")", 0);
return (int) Math.rint(NumberFormat.getDecimalFormat().parse(str));
I am still interested in finding a better way to do it using NumberFormat.

How to show several fields values in one textField

Can nay one help to add multiple DB field values in one field.
Say i have 3 DB fields:
Name
Address
Age
I want to display all 3 fields in the same field:
John Peter 28.
I tried doing 3 fields next to each other and it did work but when i wrap text. It looks really bad:
Name
Jo.pe.28
hn te
r
My requirement is show data in one text field, for example: John.Peter.26
If you want to put them in one line (which i guess is the case), its straight forward.
Put this as a text box $F{Name} + "." + $F{Address} + "." + $F{Age}.toString()
Or you can use string concatenation (I dont personally like the syntax, take more effort to understand) $F{Name}.concat(".").concat($F{Address}).concat(".").concat($F{Age})
The SQL Method
Why not concatenate all the 3 fields you need in the query you use itself like (Assuming you are with Postgres.),
select (name || address|| to_char(age)) as data from my_table
In Ireport
As suggested,
$F{Name} + "." + $F{Address} + "." + $F{Age}.toString()
too works if needed to make it work from the report.
Make sure that all your fields are of same data type.

Crystal report issue with int to string conversion

I want to convert int to string and then concatenate dot with it. Here is the formula
totext({#SrNo})+ "."
It works perfectly but not what i want. I want to show at as
1.
but it shows me in this way
1.00.
it means that when i try to convert int to string it convert it into number with precision of two decimal zeros. Can someone tell me how can i show it in proper format. For information i want to tell you that SrNo is running total.
ToText(x, y, z, w) Function can use
x=The number to convert to text
y=The number of decimal places to include in result (optional). The value will be rounded to that decimal place.
z=The character to use as the thousands separator. If you don’t specify one, it will use your application default. (Optional.)
w=The character to use as the decimal separator. If you don’t specify one, it will use your application default. (Optional.)
Examples
ToText(12345.678) = > “12345.678″
ToText(12345.678,2) = > “12345.67″
ToText(12345.678,0) = > “12345″
You can try this :
totext({fieldname},0)
Ohhh I got the answer it was so simple.
totext takes 4 parameters
First parameter is value which is going to be converted
Second parameter is number of decimal previsions.
Third parameter is decimal separator. like (1,432.123) here dot(.) is third parameter.
Forth parameter is thousand separator. like (1,432) here comma(,) is forth parameter.
Example{
totext("1,432.1234",2) results 1,432.12
totext("1,432.1234",2,' " ') results 1,432"1234
totext("1,432.1234",2,' " ', ' : ') results 1:432,1234
}
Although i think this example may be not so good but i just want to give you an idea. This is for int conversion for date it has 2 parameters.
value to be converted and format of date.