本文介绍了分数长度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

如何获得分数长度?尽可能不使用字符串操作或循环

How to get the fraction length? If at all possible, without using string operation or loop

should all return length of 3:
5.234
5.23400
5.234000

接受任何编程语言

这不是一项作业,我想显示其分数的最小值.例如,我在数据库中定义了numeric(18,8).如果用户仅输入5.234,则数据库中保存的数据为5.23400000.我只想将其显示为仅5.234

Not a homework, I want to display fractions at its minimum. Example, I defined numeric(18,8) in database. If the user entered only 5.234, the data saved in database is 5.23400000. I just want to display it back as 5.234 only

推荐答案

If Int(num) = num Then Return 0
num *= 10
If Int(num) = num Then Return 1
num *= 10
If Int(num) = num Then Return 2
num *= 10
If Int(num) = num Then Return 3
num *= 10
If Int(num) = num Then Return 4
num *= 10
If Int(num) = num Then Return 5
num *= 10
If Int(num) = num Then Return 6
num *= 10
If Int(num) = num Then Return 7
num *= 10
If Int(num) = num Then Return 8
Throw New Exception("Number exceeds expected precision")

没有字符串操作,没有循环.

No string operations, no loops.

顺便说一句,要循环执行此操作:

BTW, to do this with a loop:

result = 0
Do While (Int(num) !> num)
    num *= 10
    result += 1
Loop
Return result

稍微优雅

这篇关于分数长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-08 14:01