如何使用 jexcel api 设置单元格的数字格式

发布于 2024-10-22 19:06:34 字数 366 浏览 2 评论 0原文

我正在编写一个包含各种浮动值的 Excel 工作表。这样做时绝对有必要不丢失任何小数点。我正在使用这段代码:

              number = new Number(1, rowno2,biashidden[i]);
              sheet.addCell(number);

当我这样做时,默认格式最多只有 3 个小数位。我可以看到 Excel 工作表中正确写入的值,但是当执行 System.out.println 时,我只能看到最多 3 位小数的值。我不知道这些值最多有多少位,可能是 1.0,也可能是 1.0000045667(因此我也无法使用 Numberformat 指定最大限制)。 我应该怎么办? 提前致谢

I am writing a excel sheet with various floating values . It is absolutely necessary that i do not lose any decimal point when doing this. I am using this code:

              number = new Number(1, rowno2,biashidden[i]);
              sheet.addCell(number);

When i do this, the default format is only up to 3 decimal places. I can see the values written correctly in the excel sheet, but when do System.out.println , i see only values upto 3 decimal places. I do not know upto how many places the values will be, it may be 1.0 or it may 1.0000045667 ( thus i cannot specify a maximum limit using Numberformat too).
What should i do?
Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

×眷恋的温暖 2024-10-29 19:06:34

这是我的问题的代码。

        WritableCellFormat wcf1=new WritableCellFormat(new  jxl.write.NumberFormat("#.###############"));
         wcf1.setShrinkToFit(true);
        try
         {
                   for(int i=0;i<=numberOfNeurons[0];i++)
         {
                          for(int j=0;j<numberOfNeurons[1];j++)
            {
               number = new Number(0,rowno1,wtofnetwork[i][j],wcf1);

    sheet.addCell(number);
            rowno1++;

            }
             }

由于某种原因,我们无法动态指定小数位数。所以我给出了足够的小数位,这样就不会丢失任何数字。这是一种粗暴的做法,但它达到了目的。

This is the code for my problem .

        WritableCellFormat wcf1=new WritableCellFormat(new  jxl.write.NumberFormat("#.###############"));
         wcf1.setShrinkToFit(true);
        try
         {
                   for(int i=0;i<=numberOfNeurons[0];i++)
         {
                          for(int j=0;j<numberOfNeurons[1];j++)
            {
               number = new Number(0,rowno1,wtofnetwork[i][j],wcf1);

    sheet.addCell(number);
            rowno1++;

            }
             }

For some reason, we cannot specify the number of decimal places dynamically. so i gave enough decimal places so that no digit is lost. It is a crude way of doing it , but it achieves the purpose.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文