467,879 Members | 1,232 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,879 developers. It's quick & easy.

Test for decimal length/size

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
  • viewed: 12033
Share:
3 Replies
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
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
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.

Similar topics

21 posts views Thread by Batista, Facundo | last post: by
2 posts views Thread by MAF | last post: by
3 posts views Thread by vp | last post: by
reply views Thread by MrMoon | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.