Excel中文本函数的一个功能是将低于1的任何浮点值转换为HH:mm格式。 所以如果我做文本(0.756635,“HH:MM”),它会给我18:09。 我想知道这是如何工作的。问题是,我正在将我的代码更改为C,因此我需要在C中使用类似的函数,以将float更改为该格式。 有没有可以帮助我的图书馆?还是有人知道如何在Excel中的文本函数的作品?C中的Excel文本函数
0
A
回答
1
基本上整天(24小时)等于1
每小时等于1/24 = 0.0416666667
每分钟是等于1 /(24 * 60)= 0.0006944444
每秒等于1 /(24 * 60 * 60)= 0.0000115741
For E.g 0.756635
HH: Integer Part of 0.756635*24=18
MM: Integer Part of MOD(0.756635*24,1)*60=09
完成惯例:
=CONCATENATE(A1*24-MOD(A1*24,1)&":"&MOD(A1*24,1)*60-MOD(MOD(A1*24,1)*60,1)&":"&ROUND(MOD(MOD(A1*24,1)*60,1)*60,0))
,如果你想3点05分10秒,你需要做3/24 + 10 /(24 * 60)+ 10 /(24 * 60 * 60),你会得到,如果你的号码
在确定将其算到秒,你可以用这个公式(从时间数)
=HOUR(H27)/24+MINUTE(H27)/(24*60)+SECOND(H27)/(24*60*60)
我希望这可以帮助,您可以调整的公式来计算它在支持模
0
这是任何代码基本上十进制格式的天。所以如果假设你有0.25的价值,你乘以24得到小时。如果小时数有小数点,则将小数点右边乘以60,得到分钟数。如果在几分钟内出现小数点,则将小数点右侧乘以60得到秒数。
2
#include <stdio.h>
#include <math.h>
int main(void)
{
double x = 0.756635;
double h, m;
x = x * 24;
m = modf(x, &h) * 60;
printf("%02d:%02d\n", (int)h, (int)m);
return 0;
}
输出:
18:09
如果你想避免math.h
:
#include <stdio.h>
int main(void)
{
double x = 0.756635;
double h, m;
x = x * 24;
h = (int)x;
m = (x - h) * 60;
printf("%02d:%02d\n", (int)h, (int)m);
return 0;
}
相关问题
- 1. Javascript相当于Excel的文本函数
- 2. Office.js Excel中:从javascript调用文本到列excel函数?
- 3. Excel中调用C的函数++程序
- 4. Excel:使用文本和时间函数
- 5. Excel文本函数总是返回
- 6. C#模仿Excel SLOPE函数
- 7. 从C#写入Excel函数#
- 8. Excel:在第一列的文本函数中计算文本的出现
- 9. excel中的sumif函数根据文本显示百分比
- 10. C#excel彩色文本
- 11. VBA Excel中的子函数或函数
- 12. C#相当于Excel的TINV函数
- 13. 记事本++中的C++文件中的函数列表
- 14. Excel中SUMIF函数细胞也含有一些文本值
- 15. 排序Excel中列数的文本
- 16. 写入文本数据使用C#的excel文件
- 17. Python/SciPy版本的Excel FInv函数
- 18. Excel中的HOUR函数
- 19. r中的Excel OFFSET函数
- 20. Java中的Excel PMT函数
- 21. Excel中的VBA函数
- 22. 宏中的Excel函数
- 23. Excel中的函数Sumif
- 24. Excel中的SQL函数
- 25. SSRS 2012中的Excel函数
- 26. Excel中的LOOKUP函数
- 27. Powerhell中的Excel函数
- 28. MS Excel中的VBA函数
- 29. Excel中的间接函数
- 30. 从C函数写文本到QTextEdit框