小编Fra*_*lin的帖子

Java,只提取BigDecimal的小数部分?

在Java中,我正在使用BigDecimal该类,我的部分代码要求我从中提取小数部分. BigDecimal似乎没有任何内置的方法来帮助我获得小数点后的数字BigDecimal.

例如:

BigDecimal bd = new BigDecimal("23452.4523434");
Run Code Online (Sandbox Code Playgroud)

我想4523434从上面提到的数字中提取出来.最好的方法是什么?

java bigdecimal

57
推荐指数
4
解决办法
3万
查看次数

在Java中从double转换为float

如果我正在使用a double,并将其转换为a float,这是如何工作的?该值是否被截断以便它适合浮点数?或者价值得到不同的结果?很抱歉,如果这听起来有点补救,但我试图把握的概念floatdouble转换.

java floating-point double type-conversion

21
推荐指数
2
解决办法
3万
查看次数

从浮动转换到BigDecimal然后回来是危险的吗?

我正在制作一个程序,生成用于VHDL测试平台的测试向量.测试平台主要测试一块充当单精度浮点加法器的硬件,因此矢量符合IEEE 754标准.

无论如何,我目前的生成计划是将浮点值转换为BigDecimal,执行必要的算术,然后转换回浮点数.这有危险吗?是否会丢失精度,导致测试向量中的结果可能不准确?我想转换成BigDecimal,所以我可以避免舍入问题.

这会截断结果吗?

BigDecimal repA = new BigDecimal(Float.toString(A));
BigDecimal repB = new BigDecimal(Float.toString(B));
BigDecimal repResult = repA.add(repB);
float result = repResult.floatValue();
Run Code Online (Sandbox Code Playgroud)

其中A和B是浮点数.

java floating-point bigdecimal ieee-754

5
推荐指数
1
解决办法
2653
查看次数

Java Spring @Transactional方法没有按预期回滚

下面是我正在尝试做的快速概述.我想从一个方法调用将记录推送到数据库中的两个不同的表.如果有任何失败,我希望一切都回滚.因此,如果insertIntoB失败,我希望任何可以提交的内容insertIntoA被回滚.

public class Service {
    MyDAO dao;

    public void insertRecords(List<Record> records){
        for (Record record : records){
            insertIntoAAndB(record);
        }
    }

    @Transactional (rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
    public void insertIntoAAndB(Record record){
        insertIntoA(record);
        insertIntoB(record);
    }

    @Transactional(propagation = Propagation.REQUIRED)
    public void insertIntoA(Record record){
        dao.insertIntoA(record);
    }

    @Transactional(propagation = Propagation.REQUIRED)
    public void insertIntoB(Record record){
        dao.insertIntoB(record);
    }

    public void setMyDAO(final MyDAO dao) {
        this.dao = dao;
    }
}
Run Code Online (Sandbox Code Playgroud)

MyDAO dao使用mybatis映射到数据库的接口在哪里,并使用Spring注入设置.

现在如果insertIntoB失败,insertIntoA仍然会将所有内容都推送到数据库.我该如何纠正这种行为?

编辑:

我修改了这个类,以便更准确地描述我想要实现的目标.如果我运行insertIntoAAndB直接,回滚工作,如果有任何问题,但如果我叫insertIntoAAndB从 …

java spring transactions

5
推荐指数
1
解决办法
1万
查看次数

设置Notepad ++ for Java

要使用Notepad ++ for Java,我创建了一个批处理文件来编译并运行该文件:

@ECHO OFF
C:\Program Files\Java\jdk1.7.0_17\bin\javac.exe %1
C:\Program Files\Java\jdk1.7.0_17\bin\java.exe %1
echo.
PAUSE
@ECHO ON
Run Code Online (Sandbox Code Playgroud)

然后运行它,在Notepad ++'运行'提示符(F5)中,我输入:C:\Program Files\Java\java.bat "$(FULL_CURRENT_PATH)".所有文件路径都是正确的,但是当我按"运行"时没有任何反应.我怎样才能解决这个问题?谢谢!

java batch-file notepad++

1
推荐指数
2
解决办法
939
查看次数