我尝试使用Apache POI将数字转换为欧洲货币风格
HSSFDataFormat cf = workbook.createDataFormat();
currencyCellStyle = workbook.createCellStyle();
currencyCellStyle.setDataFormat(cf.getFormat("#.###,#0"));
Run Code Online (Sandbox Code Playgroud)
我有例如2400和2.4
我想要的是2400,00和2,40.但POI给了我2400,0和2,40.当我尝试将其更改为
currencyCellStyle.setDataFormat(cf.getFormat("#.###,00"));
Run Code Online (Sandbox Code Playgroud)
我得到的结果是2400,00和2,400.多数民众赞成也不是我想要的.
是否有可能使两个值都正确?
感谢和问候
我有以下情况:
我正在尝试使用相同的表在一个数据库中构建一个具有相同租户的多租户应用程序.据我所知,Hibernate在5.0之前不支持这个变种.
我试图通过在每个表中添加brandId字段来解决这个问题.
当我构建Many To Many关系时,我还将这个brandId添加到ManyToMany Join Table和这里(不知道我是否可以这样做,mysql没有抱怨)我为两个表创建了一个外键,同时包括brandid
所以现在例如我有一个表Text(ID,name,brandId)和一个Tag(ID,name,brandId)和一个连接表(text_id,tag_id,brand_id),其中外键是
CONSTRAINT FK_TAG_TEXTS_TAG FOREIGN KEY (TAG_ID,BRAND_ID) REFERENCES TAG (ID,brand),
CONSTRAINT FK_TAG_TEXTS_TEXT FOREIGN KEY (TEXT_ID,BRAND_ID) REFERENCES TEXT (ID,brand)
Run Code Online (Sandbox Code Playgroud)
如您所见,品牌ID被使用了两次.
然后我用Hibernate Tools生成了我的类,它创建了一个复合主键类,它和Tag类中的关联.
@ManyToMany(fetch = FetchType.EAGER,cascade = {CascadeType.PERSIST,CascadeType.MERGE })
@JoinTable(name = "tag_texts", , joinColumns = {
@JoinColumn(name = "TAG_ID", nullable = false, insertable = false, updatable = false),
@JoinColumn(name = "BRAND_ID", nullable = false, insertable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "TEXT_ID", insertable = false, nullable = false, updatable = …Run Code Online (Sandbox Code Playgroud) 我试图遍历两个列表,过滤嵌套列表并使用java8功能将结果写回主对象.
locations.forEach(location -> location.getSubList().stream()
.filter(this::correctTestDataValue)
.collect(Collectors.toList()));
Run Code Online (Sandbox Code Playgroud)
所以到目前为止,位置内的子列表没有变化,这很明显,因为stream和collect会创建一个新的列表,而不会将其写回到位置对象中.所以我的问题是,如果有办法调用location对象的setSubList(...)方法并将新列表写入其中.
谢谢