C语言中的Excel文本函数
Excel中文本函数的功能之一是将1以下的任何浮点值转换为HH:mm格式。 所以如果我发短信(0.756635,“HH:MM”),它会给我18:09。 我想知道这是怎么回事。问题是,我正在将代码更改为C,因此我需要一个类似的C函数,将浮点更改为该格式。 有没有图书馆可以帮我?或者有人知道excel中的文本函数是如何工作的吗?基本上全天(24小时)等于1 每小时等于1/24=0.0416666667 每分钟等于1/(24*60)=0.00069444 每秒钟等于1/(24*60*60)=0.0000115741C语言中的Excel文本函数,c,excel,C,Excel,Excel中文本函数的功能之一是将1以下的任何浮点值转换为HH:mm格式。 所以如果我发短信(0.756635,“HH:MM”),它会给我18:09。 我想知道这是怎么回事。问题是,我正在将代码更改为C,因此我需要一个类似的C函数,将浮点更改为该格式。 有没有图书馆可以帮我?或者有人知道excel中的文本函数是如何工作的吗?基本上全天(24小时)等于1 每小时等于1/24=0.0416666667 每分钟等于1/(24*60)=0.00069444 每秒钟等于1/(24*60*60)=0.000
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+5/(24*60)+10/(24*60*60),你就会得到这个数字
如果您可以将其计数为秒,则可以使用此公式(从时间到数字)
我希望这有帮助,您可以在任何支持模的代码中调整公式来计算它基本上全天(24小时)等于1
每小时等于1/24=0.0416666667
每分钟等于1/(24*60)=0.00069444
每秒钟等于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+5/(24*60)+10/(24*60*60),你就会得到这个数字
如果您可以将其计数为秒,则可以使用此公式(从时间到数字)
我希望这有帮助,您可以在任何支持模的代码中调整公式来计算它基本上全天(24小时)等于1
每小时等于1/24=0.0416666667
每分钟等于1/(24*60)=0.00069444
每秒钟等于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+5/(24*60)+10/(24*60*60),你就会得到这个数字
如果您可以将其计数为秒,则可以使用此公式(从时间到数字)
我希望这有帮助,您可以在任何支持模的代码中调整公式来计算它基本上全天(24小时)等于1
每小时等于1/24=0.0416666667
每分钟等于1/(24*60)=0.00069444
每秒钟等于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+5/(24*60)+10/(24*60*60),你就会得到这个数字
如果您可以将其计数为秒,则可以使用此公式(从时间到数字)
我希望这会有所帮助,您可以调整公式,以在任何支持模的代码中计算它。它基本上是十进制格式的天。如果你有0.25的值,乘以24得到小时数。如果小时数中有一个小数点,将小数点右侧乘以60,得到分钟数。如果有一个以分钟为单位的小数,则将小数的右边乘以60得到秒。基本上是以十进制格式表示的天。如果你有0.25的值,乘以24得到小时数。如果小时数中有一个小数点,将小数点右侧乘以60,得到分钟数。如果有一个以分钟为单位的小数,则将小数的右边乘以60得到秒。基本上是以十进制格式表示的天。如果你有0.25的值,乘以24得到小时数。如果小时数中有一个小数点,将小数点右侧乘以60,得到分钟数。如果有一个以分钟为单位的小数,则将小数的右边乘以60得到秒。基本上是以十进制格式表示的天。如果你有0.25的值,乘以24得到小时数。如果小时数中有一个小数点,将小数点右侧乘以60,得到分钟数。如果有以分钟为单位的小数点,则将小数点右侧乘以60,得到秒数
#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;
}
如果要避免使用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;
}
#包括
内部主(空)
{
双x=0.756635;
双h,m;
x=x*24;
h=(int)x;
m=(x-h)*60;
printf(“%02d:%02d\n”,(int)h,(int)m);
返回0;
}
如果要避免使用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;
}
#包括
内部主(空)
{
双x=0.756635;
双h,m;
x=x*24;
h=(int)x;
m=(x-h)*60;
printf(“%02d:%02d\n”,(int)h,(int)m);
返回0;
}
如果要避免使用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;
}
#包括
内部主(空)
{
双x=0.756635;
双h,m;
x=x*24;
h=(int)x;
m=(x-h)*60;
printf(“%02d:%02d\n”,(int)h,(int)m);
返回0;
}
如果要避免使用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;
}
#包括
内部主(空)
{
双x=0.756635;
双h,m;
x=x*24;
h=(int)x;
m=(x-h)*60;
printf(“%02d:%02d\n”,(int)h,(int)m);
返回0;
}