
直接使用正则表达式就行了
<script type="text/javascript">var a = 2343
var b = 233.4
var c = 'dfad23'
var reg = /^\b+\.?b+)$/
alert(
"a是否为数字:" + reg.test(a) + "\n" +
"b是否为数字:" + reg.test(b) + "\n" +
"c是否为数字:" + reg.test(c)
)
/* 最终提示的信息
a是否为数字:true
b是否为数字:true
c是否为数字:false
*/
</script>
#include <stdio.h>#include <stdlib.h>
#include <string.h>
#include <math.h>
float getRMS(char *ch) {
int len = strlen(ch), index = 0
float temp = 0
for (index <lenindex++) {
if (ch[index] == '.')
break
}
for (int i = 0i <leni++) {
if (ch[i] == '.')
continue
if (atoi(&ch[0]) == 0) {
temp = (float)ch[i] - 48
if (temp != 0) {
if (atoi(&ch[i + 1]) != 0) {
temp++
}
} else {
continue
}
return temp * pow(0.1, i - index)
} else {
if (ch[1] == '.') {
i = 1
} else {
i = 0
}
char c1 = ch[1 + i]
if (atoi(&c1) != 0) {
temp = (float)ch[0] - 47
} else {
temp = (float)ch[0] - 48
}
return temp * pow(10, index - 1)
}
}
return -1
}
int main() {
float RMS = 0
char *ch = new char
printf("请输入数字:")
gets(ch)
RMS = getRMS(ch)
if(RMS == -1){
printf("计算出错")
}else{
printf("%s%f","有效数字为:\n",RMS)
}
system("PAUSE")
return 0
}
支持小数计算
哥啊,我都已经实现了,给分吧!
有效数字指,保留末一位不准确数字,其余数字均为准确数字。有效数字的最后一位数值是可疑值。
如:0.2014为四位有效数字,最末一位数值4是可疑值,而不是有效数值。
再如: 1g、1.000g其所表明的量值虽然都是1,但其准确度是不同的,其分别表示为准确到整数位、准确到小数点后第三位数值。因此有效数值不但表明了数值的大小,同时反映了测量结果的准确度。
有效数字的修约原则是不因保留过多位数使计算复杂,也不能因舍掉位数是准确度受损。舍去多余数字按“四舍六入五成双”的原则,且应一次修约到所要求的有效数字。
不允许对一个数据进行多次修约。例如0.70894、0.708949、0.70895、0.70985、0.709851均修约到四位有效数字时,分别为:0.7089、0.7089、0.7090、0.7098、0.7099。
扩展资料:
保留有效数字遵循的是“四舍六入五留双”的原则,具体有以下三种情况:
一、当保留n位有效数字,若第n+1位数字≤4就舍掉。
二、当保留n位有效数字,若第n+1位数字≥6时,则第n位数字进1。
三、当保留n位有效数字,若第n+1位数字=5且后面数字为0时 ,则第n位数字若为偶数时就舍掉后面的数字,若第n位数字为奇数时加1;若第n+1位数字=5且后面还有不为0的任何数字时,无论第n位数字是奇或是偶都加1。
参考资料来源: 百度百科-有效数字
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)