找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1127|回復(fù): 10
收起左側(cè)

stc8H單片機怎么把這種字符轉(zhuǎn)成十進制數(shù)呀

[復(fù)制鏈接]
ID:881715 發(fā)表于 2024-5-2 12:19 來自手機 | 顯示全部樓層 |閱讀模式
     各位大神中午好,怎么把字符3130303030302E313232,變成十進制數(shù)呢?結(jié)果是100000.123,我用的是stc8系列單片機,用C語言寫,有現(xiàn)成的庫函數(shù)可以用嗎?要實現(xiàn)這個目的編程思路是怎樣的呀?共用體要是能實現(xiàn)該怎么用呀?不管用什么方法請大神賜教!最好把代碼寫一下我學(xué)習(xí)一下,不勝感激!
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2024-5-2 14:51 | 顯示全部樓層

#include<stdio.h>
sscanf();
回復(fù)

使用道具 舉報

ID:69038 發(fā)表于 2024-5-2 16:06 | 顯示全部樓層
從哪來的數(shù)值?單片機怎么會有這么大的數(shù)字?80bit.你用什么類型的變量來裝它?電腦上的計算器也才64位。。
回復(fù)

使用道具 舉報

ID:69038 發(fā)表于 2024-5-2 16:18 | 顯示全部樓層
你這個是ASC內(nèi)碼吧?0x31 0x30 0x30 0x30 0x30 0x30 0x2E 0x31 0x32 0x32,翻譯成字符串就是100000.122
回復(fù)

使用道具 舉報

ID:881715 發(fā)表于 2024-5-2 18:07 來自手機 | 顯示全部樓層
zhuls 發(fā)表于 2024-5-2 16:18
你這個是ASC內(nèi)碼吧?0x31 0x30 0x30 0x30 0x30 0x30 0x2E 0x31 0x32 0x32,翻譯成字符串就是100000.122

說的對
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2024-5-2 19:01 | 顯示全部樓層
  1. #include<stdio.h>
  2. void main(){
  3.         float d;
  4.         sscanf("100000.123","%f",&d);
  5.         printf("%f\r\n",d);
  6. }
復(fù)制代碼


都提示到這個程度了,你就不會自己查下sscanf怎么用???
回復(fù)

使用道具 舉報

ID:881715 發(fā)表于 2024-5-12 14:14 來自手機 | 顯示全部樓層
Hephaestus 發(fā)表于 2024-5-2 19:01
都提示到這個程度了,你就不會自己查下sscanf怎么用???

非常感謝您的指導(dǎo),獲益非淺謝謝
回復(fù)

使用道具 舉報

ID:1064915 發(fā)表于 2024-5-12 14:38 | 顯示全部樓層
zhuls 發(fā)表于 2024-5-2 16:18
你這個是ASC內(nèi)碼吧?0x31 0x30 0x30 0x30 0x30 0x30 0x2E 0x31 0x32 0x32,翻譯成字符串就是100000.122

水平高
回復(fù)

使用道具 舉報

ID:705846 發(fā)表于 2024-5-12 14:56 | 顯示全部樓層
         我試了一下,提取不成功, 至少time沒有提取到。
                str[20]="time 110";
                        sscanf(str,"%s %d",command,&temp);               
                        if(command == "time"){temp=5;}
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2024-5-12 20:00 | 顯示全部樓層
samxon 發(fā)表于 2024-5-12 14:56
我試了一下,提取不成功, 至少time沒有提取到。
                str[20]="time 110";
                        sscanf(str,"%s %d",command ...

這已經(jīng)不是有咩有提取到的問題了,(command == "time")這個寫法就是非法的。
回復(fù)

使用道具 舉報

ID:879809 發(fā)表于 2024-5-17 14:27 | 顯示全部樓層
samxon 發(fā)表于 2024-5-12 14:56
我試了一下,提取不成功, 至少time沒有提取到。
                str[20]="time 110";
                        sscanf(str,"%s %d",command ...

你沒學(xué)過strcmp()函數(shù)?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表