Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入

package com;

public class T2 {

    public static void main(String[] args) {

        System.out.println(calculateProfit(0));
        System.out.println(calculateProfit(0.963));
        System.out.println(calculateProfit(0.123456));
        System.out.println(calculateProfit(100));
        System.out.println(calculateProfit(.9654));

    }

    /**
     * 保留double类型小数后两位,不四舍五入,直接取小数后两位 比如:10.1269 返回:10.12
     *
     * @param doubleValue
     * @return
     */
    public static String calculateProfit(double doubleValue) {
        // 保留4位小数
        java.text.DecimalFormat df = new java.text.DecimalFormat("#.0000");
        String result = df.format(doubleValue);

        // 截取第一位
        String index = result.substring(0, 1);

        if (".".equals(index)) {
            result = "0" + result;
        }

        // 获取小数 . 号第一次出现的位置
        int inde = firstIndexOf(result, ".");

        // 字符串截断
        return result.substring(0, inde + 3);
    }

    /**
     * 查找字符串pattern在str中第一次出现的位置
     *
     * @param str
     * @param pattern
     * @return
     */
    public static int firstIndexOf(String str, String pattern) {
        for (int i = 0; i < (str.length() - pattern.length()); i++) {
            int j = 0;
            while (j < pattern.length()) {
                if (str.charAt(i + j) != pattern.charAt(j))
                    break;
                j++;
            }
            if (j == pattern.length())
                return i;
        }
        return -1;
    }
}
时间: 2024-11-05 05:40:13

Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入的相关文章

Double 数据保留两位小数一:五舍六入

1 package com; 2 3 public class T2 { 4 5 public static void main(String[] args) { 6 7 System.out.println(calculateProfit(0.233)); 8 System.out.println(calculateProfit(0.235)); 9 System.out.println(calculateProfit(0.237)); 10 System.out.println(calcul

double 类型保留小数点后两位,求大神指导

问题描述 double 类型保留小数点后两位,求大神指导 图片下边为对应的后台代码. 图片中的合计怎么 小数点后边那么多位?求大神详解. private double heji1=0; private double heji2=0; private double heji3=0; private double heji4=0; public String get() throws Exception { this.init(); ruKu = dao.get(id); return SUCCES

excel怎么快捷地将所有数据保留小数点后两位?

  excel怎么快捷地将所有数据保留小数点后两位?在大数据时代,数据需要被系统,快捷地被分类和计算,那么在excel中怎样才能快捷地将所有数据保留两位小数,今天小编来给大家分享一下. 步骤 这是小编随意输入的原始数据,可以看到有数据有小数点后三位,有的有一位小数,有的没有小数.总之数据很参差不齐. 选中需要保留两位小数的数据后,单击"开始"选项卡下面的"数字组"中的对话框启动器(数字组右下角),弹出"设置单元格格式"对话框. 在"数字

c++读取txt文件里的数据,然后保存在二维数组中进行处理

问题描述 c++读取txt文件里的数据,然后保存在二维数组中进行处理 我写的程序是把数据自己输入在主函数里,但是如果想实际的应用应该是有一个数据文件,然后提取出数据文件的数据保存在二维数组中才对,而且这个二维数组要根据具体文件的大小定数组的行列数,有谁能帮我做一下吗,谢谢! #include #include #include using namespace std; #define M 10//二维数组的行 #define N 6//二维数组的列 class Data { double a[M

c语言-一个字节数据存储到四个字节里,高三个字节位里面会是什么?

问题描述 一个字节数据存储到四个字节里,高三个字节位里面会是什么? 其实就是这句C语言代码怎么解释: char c = 128; printf("%dn", c); //输出-128 printf("%dn", 128); //输出128 那个,我的想法是这样的: Int类型的128的二进制是1000 0000(忽略前面24个0),储存到char类型里面之后不应该还是1000 0000吗?然后用printf输出一个四字节(第二行代码),为什么就变成-128了呢?如果

c++-C++ Format函数 数据保留位数问题

问题描述 C++ Format函数 数据保留位数问题 比如我一个表示当天时间的字符串, 如 23:08:48 但是我显示出来是23:8:48 如何改过来? 解决方案 用Format的%02d来格式化字符串 解决方案二: int h=23; int m=8; int s=48; CString str; str.Format("%2d:%2d%2d", h, m, s);

一位大二女学生对域名的认识和期盼

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在没有上大学之前,我根本就不知道什么是域名,或者说什么叫做一个网页的"门".看到书上密密麻麻的字,还有很多英文太繁琐了.于是老师跟我们说,域名就像是一家店面,我们生活中的中百,家乐福等,耳熟闻详.就像接触网络购物时代一样,人们都会点击www.baidu.com(百度)www.taobao.com(淘宝网)一样,因为那是谐音

用函数读出数据表内容放入二维数组

//用函数读出数据表内容放入二维数组 //动态sql语句 //以读出点击次数表为例. function list_hit($fields,$where,$order,$direction,$limit,$conn) { if ($fields=="") {$fields="hit_id,banner_id,hit_ip,hit_time";} if ($order=="") {$direction="";} $sql=&quo

Android开发笔记之Android中数据的存储方式(二)_Android

我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效率.如果学过JavaWeb的朋友,首先可能想到的是数据库.当然了数据库是一个方案,那么是否还有其他的解决方案呢?今天我们在讲下Android开发笔记之Android中数据的存储方式(一) 提到的除了SharedPreferences和Files(文本文件)以外的其他几种数据储存方式:xml文件.SQ