By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,190 Members | 777 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,190 IT Pros & Developers. It's quick & easy.

Test for decimal length/size

P: n/a
Hello All,

Does anyone know of a way to test a decimal for the number of places it
has before and after the decimal?

I need to do something like this.

decimal value1 = 172.45;
// If value1 has more then two places before the decimal return zero.
// Or if value1 has more then two places after the decimal return zero.

The reason that I need to do this is that I have a calculation being
done and the result comes out to be something like value1. The value
then is saved to a database column that is a decimal (4,2) which then
causes an error at the database level. I would like to test to decimal
value before this happens.

Thanks,

Aaron

Nov 21 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a
mohaaron wrote:
Does anyone know of a way to test a decimal for the number of places it
has before and after the decimal?

I need to do something like this.

decimal value1 = 172.45;
// If value1 has more then two places before the decimal return zero.
// Or if value1 has more then two places after the decimal return zero.

The reason that I need to do this is that I have a calculation being
done and the result comes out to be something like value1. The value
then is saved to a database column that is a decimal (4,2) which then
causes an error at the database level. I would like to test to decimal
value before this happens.
String manipulation is usually the best way to do this. A quick example,
add robustness at your leisure:

decimal value1 = 172.45m;
string [] parts = value1.ToString().Split('.');
if (parts[0].Length 2 || parts[0].Length 2)
return 0;

--
Tom Porterfield

Nov 21 '06 #2

P: n/a
Tom,

Thank you. This gets me going in the right direction.

Regards,

Aaron

On Nov 21, 10:58 am, "Tom Porterfield" <tppor...@mvps.orgwrote:
mohaaron wrote:
Does anyone know of a way to test a decimal for the number of places it
has before and after the decimal?
I need to do something like this.
decimal value1 = 172.45;
// If value1 has more then two places before the decimal return zero.
// Or if value1 has more then two places after the decimal return zero.
The reason that I need to do this is that I have a calculation being
done and the result comes out to be something like value1. The value
then is saved to a database column that is a decimal (4,2) which then
causes an error at the database level. I would like to test to decimal
value before this happens.String manipulation is usually the best way to do this. A quick example,
add robustness at your leisure:

decimal value1 = 172.45m;
string [] parts = value1.ToString().Split('.');
if (parts[0].Length 2 || parts[0].Length 2)
return 0;

--
Tom Porterfield
Nov 22 '06 #3

P: n/a
Hello All,
>
Does anyone know of a way to test a decimal for the number of places it
has before and after the decimal?

I need to do something like this.

decimal value1 = 172.45;
// If value1 has more then two places before the decimal return zero.
// Or if value1 has more then two places after the decimal return zero.

The reason that I need to do this is that I have a calculation being
done and the result comes out to be something like value1. The value
then is saved to a database column that is a decimal (4,2) which then
causes an error at the database level. I would like to test to decimal
value before this happens.

Thanks,

Aaron
Why not use
value1 = Math.Round(value1, 2);
to round the value to two decimal places?

Hans Kesting
Nov 22 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.