当前位置: 首页 > 知识库问答 >
问题:

将浮点数转换为年、月、周、天

邹高懿
2023-03-14

这就是我所拥有的。

import javax.swing.JOptionPane;

public class timePartition {

public static void main(String[] args) {

   float totalTime;
   float userInput;
   int years = 0, months = 0, weeks = 0, days = 0, hours = 0, minutes = 0, seconds = 0;


   do{
       userInput = Float.parseFloat(JOptionPane.showInputDialog("Enter a positive number to decompose")); 
       totalTime = userInput;

       years = (int) userInput / 365;
       userInput = userInput % 10; 

       months = (int) userInput / 12;
       userInput = userInput % 10; 

       weeks = (int) userInput / 4;
       userInput = userInput % 10;

       days = (int) userInput / 30;
       userInput = userInput % 10;

       hours = (int) userInput / 24;
       userInput = userInput % 10;

       minutes = (int) userInput / 60;
       userInput = userInput % 10;

       seconds = (int) userInput / 60;
       userInput = userInput % 10;


    }while (userInput >=1);

    System.out.print("The number " +totalTime+ " is " +years+ " years, " +months+ " months, " +weeks+ " weeks, " +days+ " days, " +hours+ " hours, " +minutes+ " minutes, " +seconds+ " seconds.");


}

共有1个答案

曹鹏海
2023-03-14

我不认为你可以使用模10来减少输入后,你拉出每个面值。此外,您根本不需要while循环。

你得做点什么

years = (int) (userInput / 365);
userInput = userInput - years*365;

诸如此类。此外,由于输入是以天为单位的,当你除以时,你必须继续以天为单位思考,所以除以12来得到月数是没有意义的。你可以除以30,31或28。同样地,对于小时,你必须将剩余的天的分数乘以24,然后取小时的小数部分,以类似的方式分解为分钟和秒。

 类似资料:
  • 问题内容: 有点像这个问题,但是相反。 给定类似,或的字符串,将其转换为浮点数的最佳方法是什么?我正在考虑根据情况使用正则表达式,但是也许有人知道更好的方法或预先存在的解决方案。我希望可以使用,但是我认为第3种情况可以避免这种情况。 问题答案: 我稍微调整了詹姆斯的回答。 http://ideone.com/ItifKv

  • 问题内容: 我有一个必须解析的二进制文件,并且正在使用Python。有没有办法占用4个字节并将其转换为单个精度浮点数? 问题答案:

  • 问题内容: 我正在使用模块,即: 我想计算考虑takes年的一年中的某天。例如今天(2009年3月6日)是2009年的第65天。 我看到两个选择: 创建一个数组,确定是否是a年,然后手动汇总天数。 用于猜测,然后二进制搜索一年中的正确日期: YEAR = 2009 DAY_OF_YEAR = 62 d = datetime.date(YEAR, 1, 1) + datetime.timedelta

  • 问题内容: 正如标题所说。我不认为有可能这样做,但如果可以告诉我。 这是我正在编写的bukkit(minecraft服务器)插件所必需的。我要执行一个命令:tnt [power]。电源是我想转换为浮点数的返回字符串。 谢谢 问题答案: 用于进行转换。 和之间的区别只是回报。如果需要(对象),请使用前者;如果要数字,请使用后者。

  • 我有一个csv文件包含一些浮点数据。代码很简单 然后我将其转换为float32以节省内存使用。 值刚刚更改!我如何保持数据不变? (我也尝试了,但是print仍然得到相同的输出)

  • 问题内容: http://golang.org/pkg/strconv/ http://play.golang.org/p/4VNRgW8WoB 如何将浮点数转换为字符串格式?这是google游乐场,但未获得预期的输出。(2e + 07)我想得到“ 21312421.213123” 请帮助我从浮点数中获取字符串。谢谢 问题答案: 试试这个 如果只想获得尽可能高的位数精度,则特殊精度-1使用所需的最