gpt4 book ai didi

java - 接受 apache poi 中的非负浮点值

转载 作者:行者123 更新时间:2023-12-02 02:04:13 24 4
gpt4 key购买 nike

我正在使用 java 中的 apache POI 创建 xlsx 文件。我希望单元格仅具有最多 2 位小数的非负浮点值。我为此使用 createNumericConstraint,尽管在文件中,它不接受 0 作为值。 (找到下面的代码)。到目前为止我还不知道如何实现小数点后两位的限制。

已经得到小数点后两位的答案。我遇到的问题是它不接受 0 作为值。

    DataValidationHelper helper = sheet.getDataValidationHelper();
DataValidationConstraint constraint;
DataValidation validation;
constraint = helper.createNumericConstraint(XSSFDataValidationConstraint.ValidationType.DECIMAL,
XSSFDataValidationConstraint.OperatorType.BETWEEN,
String.valueOf(0),
String.valueOf(Float.MAX_VALUE));

CellRangeAddressList cellRangeAddressList = new CellRangeAddressList();

cellRangeAddressList.addCellRangeAddress(new CellRangeAddress(1, lastRowIndex, columns.get(SELLING_PRICE.getName()), columns.get(SELLING_PRICE.getName())));
cellRangeAddressList.addCellRangeAddress(new CellRangeAddress(1, lastRowIndex, columns.get(MRP.getName()), columns.get(MRP.getName())));

validation = helper.createValidation(constraint, cellRangeAddressList);
validation.setSuppressDropDownArrow(false);
validation.setShowErrorBox(true);
sheet.addValidationData(validation);

最佳答案

您可以使用此行格式化所有数字:

style.setDataFormat(workbook.createDataFormat().getFormat("0.00"));

0每次都按要求的格式显示。一些例子:

  • 0 -> 0.00
  • 1 -> 1.00
  • 1.5 -> 1.50
  • 99 -> 99.00
  • 137.7 -> 137.70

最后但并非最不重要的一点是,验证需要从 String.valueOf(0) 更改至0.00f因此使用格式和正确的数据类型( float )。否则之后可能会出现对话/类型错误。

关于java - 接受 apache poi 中的非负浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51055513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com