Bob Ammerman wrote: > As shown by my previous post, this is really not necessary. You can just > scan the value from left to right, pretending it is an integer, but > remembering where the decimal point is. When you are done you simply > multiply by 10 as many times as needed to scale the final result to two > decimal places. That only works if the number of digits that could be sent it finite. For example sending 20.000000001 could cause the most significant part to be shifted off the end, at least without checking. I suppose you could look at the high 4 bits of the 32 bit (or whatever) integer you are accumulating the value into, and ignore new digits once that nibble gets too big. When all done, convert to floating point and multiply by the appropriate power of 10 to take the decimal point position into account. ****************************************************************** Embed Inc, Littleton Massachusetts, (978) 742-9014. #1 PIC consultant in 2004 program year. http://www.embedinc.com/products -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist