gpt4 book ai didi

vb.net - 将 LAT LONG 坐标从字符串转换为耗时值

转载 作者:行者123 更新时间:2023-12-04 20:16:34 34 4
gpt4 key购买 nike

我可以在工作中从我们的数据库中检索代表坐标的值。我使用 SQL 检索数据并在 Excel 中打开结果。它们被存储为以度数格式显示为坐标,例如用于 LAT 的 DDMMSS 和用于 LONG 的 DDDMMSS。

excel 工作表由标记为 LAT 和 LONG 的两列创建。但是,这些值被格式化为常规,因此 Excel 将它们视为字符串。例如LAT 为 987654,LONG 为 9876543

我需要数据作为时间值来执行大圆距离计算,如下所述:

http://www.cpearson.com/excel/LatLong.aspx

我设法使用以下方法将字符串值转换为时间值:

=TIME(VALUE(MID(A1,1,2)),VALUE(MID(A1,3,2)),VALUE(MID(A1,5,2)))

然而,HH 值没有保持不变。

例如544039 变为 06:40:39

54 变成 06 因为 54/24 = 2.25 和 0.25*24 = 6

但我需要将其保持为 54 而不是 06。

我相信 Excel 将其称为“耗时”,格式如下:
[hh]:mm:ss 

如何正确地将 544039 从字符串值转换为 Elapsed Time 值; 54:40:39?

任何帮助,将不胜感激。如果需要,我愿意运行 VB 脚本。

最佳答案

我认为您的困惑是,传入值为“544039”时,它不能是 HHMMSS,而实际上是 DegreesMinutesSeconds。您最好将输入字符串的 MinutesSeconds 部分转换为小数度,并存储生成的十进制角度,即“544039”变为 54.6775,可以将其存储为数字。见 this article关于如何进行转换。

此外,Excel 将日期存储为小数,因此进行此转换然后将结果格式化为耗时会产生您想要的效果。尝试手动输入时间,然后将其格式更改为十进制,您就会明白我的意思。

关于vb.net - 将 LAT LONG 坐标从字符串转换为耗时值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22849383/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com