最近搞Struts2弄得有点头昏脑胀,第一个例子“HelloWorld”总不成功,有点郁闷。

想起前几天上cpld/fpga课时老师说得判断小数位数的例子,闲来无事用Java实现一下。顺便也在csdn上露露头。

思想:将小数作为字符串处理,获取小数点的位置。用字符串的长度减去小数点位置,再减去1,得到小数位数。

/**

* @(#)GetBitsOfDecimal.java

*

*

* @author zhangweiheb

* @version 1.00 2009/3/15

*/

import java.io.*;

import java.util.*;

import java.util.regex.*;

public class GetBitsOfDecimal {

public static void main (String[] args) {

//获取键盘输入

String inStr="";

System.out.println("输入小数:");

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

try{

inStr=br.readLine();

}catch(Exception e){}

//正则表达式判断是否为小数

Pattern p=Pattern.compile("//d{1,}//.//d{1,}");

Matcher m=p.matcher(inStr);

boolean b=m.matches();

if(b){                           //是小数则判断位数

//获取小数点的位置

int bitPos=inStr.indexOf(".");

//字符串总长度减去小数点位置,再减去1,就是小数位数

int numOfBits=inStr.length()-bitPos-1;

System.out.println("小数位数为: "+numOfBits);

}else{                        //不是小数,给出错误提示信息

System.out.println("输入的不是小数");

}

}

}

另外,还有一种思想:

小数:d

小数强制转换成的整数:i

小数位数:n  (n的初始值为1)

while((d-i)>0) {

d=d*10;

i=(int)d;

n++;

}

这种算法在小数末位为“0”,例如“1.10”时会判断出错。不知Java或其他语言中有没有解决方法。

程序不大,也不难,大师们见笑了,但写完后心情好多了。以后每当郁闷的时候就写段小程序。

java获取小数位数_Java获取小数位数相关推荐

  1. java获取文件地址吗_java获取文件所在服务器位置路径

    1.通过 import javax.servlet.ServletContext 类获取web 服务器所在真实路径 public ActionForward execute( ActionMappin ...

  2. java ip地址接口_java获取ip地址与网络接口的方法示例

    java.net包 大家应该都知道,网络相关对象在java.net包中,Java net包下的类如下: 1.获取主机对象InetAddress //获取本地主机对象 InetAddress host ...

  3. java获取扩展名_Java获取文件扩展名称

    有时在处理文件时,需要根据文件类型对它们进行不同的处理. java.io.File没有任何获取文件扩展名的方法,这里提供了一个实用工具方法来获取文件扩展名. Java获取文件扩展名 在句点(.)之后, ...

  4. java 获取秒数_Java获取精确到秒的时间戳(转)

    1.时间戳简介: 时间戳的定义:通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用.是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01 ...

  5. java设置小数位数_java设置小数点后位数

    static void challenge2() throws IOException { double double1; double double2; double double3; double ...

  6. java设置小数点格式_java指定小数点后位数格式

    转自:http://blog.csdn.net/huaishuming/article/details/17752365 4种方法,都是四舍五入,例: import java.math.BigDeci ...

  7. java float存储方式_Java中小数的存储方式

    因为底层的二进制数不能精确表示所有的小数.有时候会产生让人觉得莫名其妙的事情. 如在java中, 0.99999999f==1f//true 0.9f==1f //false 要明白这些,首先要搞清楚 ...

  8. java 获取区间随机数_Java获取随机数的3种方法

    主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...

  9. java中的随机数_Java获取随机数

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

最新文章

  1. MySQL练习题:常用函数
  2. Altium Designer PCB布线只显示单层
  3. [BUUCTF-pwn]——mrctf2020_shellcode
  4. Python 找出1与100之间的全部“同构数”
  5. ArcGIS API For Silverlight使用在线地图的多种方法总结
  6. PHP常见概念混淆(五)之PHP类常量、静态属性和属性的区别
  7. Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan
  8. python实现禁忌搜索算法
  9. 9月第2周网络安全报告:境内87.8万主机感染病毒
  10. 常用字典代码推荐标准
  11. pe擦除服务器硬盘,如何使用老毛桃winpe的分区助手安全擦除移动硬盘或本地硬盘数据?...
  12. 软件开发人员的能力模型
  13. python输出n的32次方_在Python中,如何将2的32次方-1的值存放到g中?
  14. 【那些年踩过的坑】服务器配环境:Ubuntu 16.04 + Titan Xp + CUDA 9.0 + cuDNN 7.1 + Tensorflow + Pytorch + MXNet
  15. 嵌入式远程岗位、兼职、接单、众包平台
  16. matlab图像处理英文文献,数字图像处理英文文献翻译参考.doc
  17. vim安装配置coc.vim实现语言的自动补全
  18. java中extends与implements的区别
  19. 艾永亮:美国最大面包连锁品牌如何通过超级产品战略成为行业第一
  20. java中ceil怎么用举例_Java ceil() 方法

热门文章

  1. 基于docker搭建svn-server
  2. UWP AppBarButton Icon 图标样式集合
  3. CentOS6.5最小化安装+自定义安装包
  4. PHP实现四种基本排序算法
  5. Python合并多个Excel数据
  6. Oracle中默认创建的表
  7. [转]Java中Runtime.exec的一些事
  8. 基于struts2的寝室圈项目
  9. na na na na na ~
  10. ARM Cortex Debug Port Access Port DP AP JTAG-DP SW-DP SWJ-DP JTAG-AP MEM-AP