446,190 Members | 777 Online 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
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.Length 2 || parts.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"

 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. 