gpt4 book ai didi

C. 如何根据数字的大小从数字中获取前 N 位数字(例如数字 = 1234 n = 2)

转载 作者:太空宇宙 更新时间:2023-11-04 00:30:14 24 4
gpt4 key购买 nike

在 C 中有没有办法执行以下操作:

我想提取 NMEA 句子中经度读数的度数,经度采用以下格式:

xxxnn.nnnn

其中xxx代表度数,n代表实际经度值。

现在,我希望能够从此数字中提取 xxx 的值并将其用于计算,以便根据度数将经度读数转换为正确的位置。

这个问题有额外的复杂性,如果读数是 4 度,那么该值将存储为

xnn.nnnn

那么有没有办法说,返回 x 位的值?在 Java 中,我将数字存储为字符串,并使用子字符串来执行此操作。

示例结果:

if longitude =  1146.8937 I want to return 11
if longitude = 17829.8172 I want to return 178
if longitude = 123.3424 I want to return 1

最佳答案

(int) floor(longtitude)/100 不行吗?

它在 math.h 中。使用 -lm 链接它,如下所示:

gcc program.c -o program -lm


编辑

正如下面评论中提到的,在这种情况下确实不需要 floor()

简单地转换为 int 并根据需要修复符号,就可以了。

关于C. 如何根据数字的大小从数字中获取前 N 位数字(例如数字 = 1234 n = 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444541/

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