我有一个需要格式化的双值
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
headerView?.detailPhotoStory.text = PhotoItemArraySelected[0].photoStory
headerView?.setNeedsLayout()
headerView?.layoutIfNeeded()
headerHeight = 380
headerHeight += (headerView?.detailPhotoStory.frame.height)!
collectionView.reloadData()
collectionView.scrollToItem(at: IndexPath(row: 0, section: 0),
at: .top,
animated: true)
}
我无法格式化它,因为它有","其中如何将其从NumberFormat dft = NumberFormat.getInstance();
dft.setMaximumFractionDigits(3);
dft.setRoundingMode(RoundingMode.UP);
Double n= Double.parseDouble(dft.format(xyz)); //1,733.211
中删除。
答案 0 :(得分:1)
您需要使用parse
类的NumberFormat
方法来首先解析数字(如果您想要数字值),例如:
Number number = NumberFormat.getNumberInstance().parse("1,733.211");
System.out.println(number);
完成后,您可以对其进行格式化:
NumberFormat dft = NumberFormat.getInstance();
dft.setMaximumFractionDigits(3);
dft.setRoundingMode(RoundingMode.UP);
System.out.println(dft.format(number));
答案 1 :(得分:0)
假设xyz是一个String,你只想删除逗号:
Double n= Double.parseDouble(dft.format(xyz.replaceAll("[^0-9.]", "")));