Tag: 格式化

DecimalFormat变量组大小

在发布问题之前,我已经对这个问题进行了一些研究,但我找不到答案。 这是我正在尝试做的事情: 输入:长度为7-8的十进制空格(无分数)。 输出:“X XXXXXX X”,其中X是数字,必须存在。 示例:1234567 => 0 123456 7 我尝试了什么: DecimalFormatSymbols group = new DecimalFormatSymbols(); group.setGroupingSeparator(‘ ‘); DecimalFormat idFormat = new DecimalFormat(“0,000000,0”, group); 但这会打印出类似“0 1 2 3 4 5 6 7”的内容:S我做错了什么? 编辑: 如果我这样做,我可以打印出我需要的东西: DecimalFormatSymbols group = new DecimalFormatSymbols(); group.setGroupingSeparator(‘ ‘); group.setDecimalSeparator(‘ ‘); DecimalFormat idFormat = new DecimalFormat(“0,000000.0”, group); 从重新阅读手册,我意识到DecimalFormat没有办法打印可变长度组(我很幸运,我只需要2 – 所以我可以使用分数部分)。 但你怎么“正确地”做到这一点? 可以在这里使用正则表达式/编写我自己的函数,还是已经有这样的库? […]

Java printf使用可变字段大小?

我只是想将一些C代码转换为Java,而我在使用String.printf遇到了一些麻烦。 在C中,为了获得基于变量的特定宽度,我可以使用: printf(“Current index = %*d\n”, sz, index); 它会根据sz将整数格式化为特定大小。 试: System.out.println(String.format(“Current index = %*d\n”, sz, index)); 导致错误,因为它不喜欢* 。 我目前有以下kludge: System.out.println(String.format(“Current index = %” + sz + “d\n”, index)); 但是我希望有更好的方法,是吗?

使用递归在Java中以正确格式打印菱形图案

我的程序从文件中读取值,并使用递归方法根据这些值打印星号模式。 我只是在让一切正常排队时遇到问题。 输出应该如下所示: * * * * * * * * * 关于输出的格式,方向是: “请注意,图案围绕中心线对称(垂直)对齐。图案应在每条线(水平)上对称排列,并提示:使用线值来帮助空间。” 但我的输出看起来像这样: * * * * * * * * * 我用来获取这种模式的代码: public static void makePattern(int thisRow, int num) { if(thisRow >= num) { for(int i = 0; i < num; i++) { System.out.print(" " + "*" + " "); } System.out.println(); […]

更改JTable单元格颜色

这让我非常疯狂。 我知道,要使用JTable更改表格单元格的格式,我必须使用自己的渲染器。 但我似乎无法正确实现这一点。 这是我目前的设置: public class MyClass { public static void main(String args[]) { JTable myTable = new JTable(10, 10); myTable.setDefaultRenderer ([I dont know what to put here], new CustomRenderer()); } } class CustomRenderer extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = […]

Java – 格式化双倍值作为美元金额

我需要将双“amt”格式化为美元金额println(“$”+美元+“。”+美分),以便小数点后有两位数。 这样做的最佳方法是什么? if (payOrCharge = 2) { System.out.println(“Please enter the charged amount:”); double amt = keyboard.nextDouble(); cOne.addCharge(amt); System.out.println(“——————————-“); System.out.println(“The original balance is $” + cardBalance + “.”); System.out.println(“You added a charge in the amount of ” + amt + “.”); System.out.println(“The new balance is ” + (cardBalance + amt) + “.”); }

从数组中打印出元素,并在除最后一个单词之外的元素之间使用逗号

我打印出数组列表中的元素,我想在除了最后一个单词之外的每个单词之间使用逗号。 现在我这样做: for (String s : arrayListWords) { System.out.print(s + “, “); } 如你所知,它会打印出这样的字样:“一,二,三,四”,问题是最后一个逗号,我该如何解决? 所有答案赞赏! 最好的问候,埃里卡

Java中的StAX XML格式

是否可以使用StAX(特别是woodstox)使用换行符和制表符格式化输出xml,即以下列forms: 一些数据 代替: someData 如果在woodstox中无法做到这一点,是否还有其他轻量级库可以做到这一点?

在jasper报告中将字符串格式化为货币格式

我有一个带有一些数值的字符串。 我希望以数百个以逗号分隔的方式格式化它,并且数字前面有$美元符号。 例如,12345应格式化为$ 12,345.00 我尝试了下面没有美元符号的代码: new java.text.DecimalFormat(#,##0.00).format.(myString) 以及带有美元符号的下面一个: new java.text.DecimalFormat($ #,##0.00).format.(myString) 但是,两者都给出了错误。 实现这种格式的正确方法是什么? 这是jasper报告jrxml的一部分,我希望在报告中避免“null”,从而插入以下代码: myString来自查询,并在jrxml中声明为: 之前myString被声明为BigDecimal,但是后来比较运算符?=无效。 如果货币值不可用,我想在报表上打印“不可用”而不是默认的“null”。 否则,我希望如上所述正确格式化数字。 如何解决这个问题? 谢谢阅读。