java - JavaFX 格式在 TableColumn 中翻倍
问题描述
我已经看过并且无法弄清楚如何使用 Double 格式化我的 TableColumn。它总是以 234.23232033 等结束。例如,我想显示 234.23。我看过与我类似的帖子,但我只是不知道如何将它集成到我的代码中。部分是我的错,因为我可能远远领先于我实际知道的东西。但我想弄清楚这一点。谢谢你。
这是我的控制器的一部分...
@FXML
private TableView<CheckBookData> tableView;
@FXML
private TableColumn<CheckBookData, String> transactionCol;
@FXML
private TableColumn<CheckBookData, Double> balanceCol;
ObservableList<CheckBookData> checkbook =
FXCollections.observableArrayList();
Double balance = 0.0;
public void initialize(URL url, ResourceBundle rb)
{
transactionCol.setCellValueFactory(new
PropertyValueFactory<CheckBookData, String>("transaction"));
balanceCol.setCellValueFactory(new PropertyValueFactory<CheckBookData,
Double>("balance"));
}
private void handleAddData(ActionEvent event)
{
Double deposit = Double.parseDouble(depositField.getText());
balance = balance + deposit;
checkbook.add(new CheckBookData(transaction, withdraw, deposit,
balance, checkNumber, date));
}
这是我的 CheckBookData 类的一部分...
public class CheckBookData
{
private SimpleStringProperty checkNumber, transaction, date;
private SimpleDoubleProperty withdraw, deposit, balance;
public CheckBookData(String transaction, Double withdraw, Double deposit,
Double balance, String checkNumber, String date)
{
this.transaction = new SimpleStringProperty(transaction);
this.withdraw = new SimpleDoubleProperty(withdraw);
this.deposit = new SimpleDoubleProperty(deposit);
this.balance = new SimpleDoubleProperty(balance);
this.checkNumber = new SimpleStringProperty(checkNumber);
this.date = new SimpleStringProperty(date);
}
public Double getBalance()
{
return balance.get();
}
public void setBalance(SimpleDoubleProperty balance)
{
this.balance = balance;
}
解决方案
您必须格式化值,而不是表格 - 只是清除。
你可以对这个问题应用一些数学:
double balance = <INSERT_VALUE>;
balance = balance*100;
balance = Math.round(balance);
balance = balance/100;
你乘以 100,四舍五入,然后除以 100。这应该会给你一个格式化的结果。
推荐阅读
- google-apps-script - 如何拆分值并在谷歌表中找到最长的文本字符串
- javascript - 禁用基于角度方法的选项
- jmeter - 如何在 jmeter 的 post 请求中发送 csv 文件或 json 数据?
- connection - System.InvalidOperationException:“ExecuteReader:连接属性尚未初始化。”
- api - 如何为标签和IP地址链接制作vmware API?
- microsoft-cognitive - 多部分文件的表单识别器问题
- scikit-learn - 调整特定树节点的树参数
- pandas - Panda 对非时间序列进行插值的数据帧上采样
- java - StaxEventItemWriter 忽略 Jax2bMarshaller 属性
- php - PHPMailer smtp 连接失败