jRuby 的 Float 在 JTable 单元格中表示
我需要以 jTable 格式表示浮点数。 当我执行 tbl.model.add_row [obj, 1.3524632478].to_java 时,obj 表示为 to_s 方法的返回值,但 float 则不然。重写 float 的 to_s 方法不会执行任何操作。 我希望浮点数的格式如下 浮点类 def to_s sprintf("%.2f", 自我) 结尾 结束
在我所有的桌子上。
I need to represent floats in jTable formatted.
When I do tbl.model.add_row [obj, 1.3524632478].to_java
, obj is represented as it's to_s method's return value, but float do not. Overriding float's to_s method does nothing.
I want floats to be formatted like thisclass Float
def to_s
sprintf("%.2f", self)
end
end
in all my tables.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜测这是由于默认的 TableCellRenderer 使用调用
java.lang.Float.toString(some_float)
而不是some_float.to_s
造成的。因此,除了您已经对 Float 的 to_s 所做的操作之外,还添加以下内容:I would surmise that it's due to the default TableCellRenderer used calling
java.lang.Float.toString(some_float)
rather thansome_float.to_s
. So in addition to what you've already done with Float's to_s, add these:当行被矢量化时,Ruby 类会转换为 Java 类。我在java的Float类中添加了to_s方法,它就OK了
Ruby classes are converted to java classes when rows being vectorized. I added to_s method to java's Float class and its OK