微信小程序取整
⑴ 小程序在數據綁定中可以取整嗎
後面加|Int 過濾就可以了,官方文檔都沒寫,亂試出來的
{{aaa/bbb|Int}}
⑵ 微信小程序怎麼獲取到data數據
小程序是一種不需要下載安裝即可使用的應用,它實現了應用「觸手可及」的夢想,用戶掃一掃或者搜一下即可打開應用。也體現了「用完即走」的理念,用戶不用關心是否安裝太多應用的問題。應用將無處不在,隨時可用,但又無需安裝卸載。對於開發者而言,小程序開發門檻相對較低,難度不及APP,能夠滿足簡單的基礎應用,適合生活服務類線下商鋪以及非剛需低頻應用的轉換。小程序能夠實現消息通知、線下掃碼、公眾號關聯等七大功能。其中,通過公眾號關聯,用戶可以實現公眾號與小程序之間相互跳轉。
獲取page數據,看代碼:var text=this.data.name ,這樣就獲取到初始化的值
page({
data:{name:"test"},
showData:function(){
var text=this.data.name
}
})
在雲里,為各行業商戶搭建自己的小程序。
⑶ 微信小程序,小程序論壇,weixin,小程序字元串怎麼截取
應用號(小程序,「應用號」的新稱呼)終於來了!目前還處於內測階段, 只邀請了部分企業參與封測。想必大家都關心應用號的最終形態到底是什麼樣子?怎樣將一個「服務號」改造成為「小程序」?我們暫時以一款簡單的第三方工具的實例,來演示一下開發過程吧。序言開始開發應用號之前,先看看官方公布的「小程序」教程吧!(以下內容來自 官方公布的「小程序」開發指南)本文檔將帶你一步步創建完成一個 小程序,並可以在手機上體驗該小程序的實際效果。這個小程序的首頁將會顯示歡迎語以及當前用戶的 頭像,點擊頭像,可以在新開的頁面中查看當前小程序的啟動日誌。1.獲取 小程序的AppID首先,我們需要擁有一個帳號,如果你能看到該文檔,我們應當已經邀請並為你創建好一個帳號。注意不可直接使用服務號或訂閱號的AppID。利用提供的帳號,登錄,就可以在網站的「設置」-「開發者設置」中,查看到 小程序的AppID了。注意:如果我們不是用注冊時綁定的管理員 號,在手機上體驗該小程序。那麼我們還需要操作「綁定開發者」。即在「用戶身份-開發者」模塊,綁定上需要體驗該小程序的 號。本教程默認注冊帳號、體驗都是使用管理員 號。2.創建項目我們需要通過開發者工具,來完成小程序創建和代碼編輯。開發者工具安裝完成後,打開並使用 掃碼登錄。選擇創建「項目」,填入上文獲取到的AppID,設置一個本地項目的名稱(非小程序名稱),比如「我的第一個項目」,並選擇一個本地的文件夾作為代碼存儲的目錄,點擊「新建項目」就可以了。為方便初學者了解 小程序的基本代碼結構,在創建過程中,如果選擇的本地文件夾是個空文件夾,開發者工具會提示,是否需要創建一個quickstart項目。選擇「是」,開發者工具會幫助我們在開發目錄里生成一個簡單的demo。項目創建成功後,我們就可以點擊該項目,進入並看到完整的開發者工具界面,點擊左側導航,在「編輯」里可以查看和編輯我們的代碼,在「調試」里可以測試代碼並模擬小程序在 客戶端效果,在「項目」里可以發送到手機里預覽實際效果。3.編寫代碼點擊開發者工具左側導航的「編輯」,我們可以看到這個項目,已經初始化並包含了一些簡單的代碼文件。最關鍵也是必不可少的,是app.js、app.json、app.wxss這三個。其中,.js後綴的是腳本文件,.json後綴的文件是配置文件,.wxss後綴的是樣式表文件。 小程序會讀取這些文件,並生成小程序實例。下面我們簡單了解這三個文件的功能,方便修改以及從頭開發自己的 小程序。app.js是小程序的腳本代碼。我們可以在這個文件中監聽並處理小程序的生命周期函數、聲明全局變數。調用MINA提供的豐富的API,如本例的同步存儲及同步讀取本地數據。//app.jsApp({onLaunch:function(){//調用API從本地緩存中獲取數據varlogs=wx.getStorageSync('logs')||[]logs.unshift(Date.now())wx.setStorageSync('logs',logs)},getUserInfo:function(cb){varthat=this;if(this.globalData.userInfo){typeofcb=="function"&&cb(this.globalData.userInfo)}else{//調用登錄介面wx.login({success:function(){wx.getUserInfo({success:function(res){that.globalData.userInfo=res.userInfo;typeofcb=="function"&&cb(that.globalData.userInfo)}})}});}},globalData:{userInfo:null}})app.json是對整個小程序的全局配置。我們可以在這個文件中配置小程序是由哪些頁面組成,配置小程序的窗口背景色,配置導航條樣式,配置默認標題。注意該文件不可添加任何注釋。{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor":"#fff","navigationBarTitleText":"WeChat","navigationBarTextStyle":"black"}}app.wxss是整個小程序的公共樣式表。我們可以在頁面組件的class屬性上直接使用app.wxss中聲明的樣式規則。/**app.wxss**/.container{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:200rpx0;box-sizing:border-box;}3.創建頁面在這個教程里,我們有兩個頁面,index頁面和logs頁面,即歡迎頁和小程序啟動日誌的展示頁,他們都在pages目錄下。 小程序中的每一個頁面的【路徑+頁面名】都需要寫在app.json的pages中,且pages中的第一個頁面是小程序的首頁。每一個小程序頁面是由同路徑下同名的四個不同後綴文件的組成,如:index.js、index.wxml、index.wxss、index.json。.js後綴的文件是腳本文件,.json後綴的文件是配置文件,.wxss後綴的是樣式表文件,.wxml後綴的文件是頁面結構文件。index.wxml是頁面的結構文件:image>{{userInfo.nickName}}text>view>{{motto}}text>view>view>本例中使用了、、來搭建頁面結構,綁定數據和交互處理函數。index.js是頁面的腳本文件,在這個文件中我們可以監聽並處理頁面的生命周期函數、獲取小程序實例,聲明並處理數據,響應頁面交互事件等。//index.js//獲取應用實例varapp=getApp()Page({data:{motto:'HelloWorld',userInfo:{}},//事件處理函數bindViewTap:function(){wx.navigateTo({url:'../logs/logs'})},onLoad:function(){console.log('onLoad')varthat=this//調用應用實例的方法獲取全局數據app.getUserInfo(function(userInfo){//更新數據that.setData({userInfo:userInfo})})}})index.wxss是頁面的樣式表:/**index.wxss**/.userinfo{display:flex;flex-direction:column;align-items:center;}.userinfo-avatar{width:128rpx;height:128rpx;margin:20rpx;border-radius:50%;}.userinfo-nickname{color:#aaa;}.usermotto{margin-top:200px;}頁面的樣式表是非必要的。當有頁面樣式表時,頁面的樣式表中的樣式規則會層疊覆蓋app.wxss中的樣式規則。如果不指定頁面的樣式表,也可以在頁面的結構文件中直接使用app.wxss中指定的樣式規則。index.json是頁面的配置文件:頁面的配置文件是非必要的。當有頁面的配置文件時,配置項在該頁面會覆蓋app.json的window中相同的配置項。如果沒有指定的頁面配置文件,則在該頁面直接使用app.json中的默認配置。logs的頁面結構{{index+1}}.{{log}}text>block>view>logs頁面使用控制標簽來組織代碼,在上使用wx:for-items綁定logs數據,並將logs數據循環節點//logs.jsvarutil=require('../../utils/util.js')Page({data:{logs:[]},onLoad:function(){this.setData({logs:(wx.getStorageSync('logs')||[]).map(function(log){returnutil.formatTime(newDate(log))})})}})運行結果如下:4.手機預覽開發者工具左側菜單欄選擇「項目」,點擊「預覽」,掃碼後即可在 客戶端中體驗。目前,預覽和上傳功能尚無法實現,需要等待 官方的下一步更新。如你所見, 官方給出的開發指南還非常簡單,很多細節、代碼和功能都沒有明確的展示,所以接下來就到展示實力的時候啦!開發教程正式開始!第一章:准備工作做好准備工作很重要。開發一個 應用號,你需要提前到 的官方網站(weixin. .com)下載開發者工具。1.下載最新 開發者工具,打開後你會看到該界面:2.點擊「新建web+」項目,隨後出現如下畫面:3.該頁面內的各項內容需要注意——AppID:依照官方解釋來填。Appname:項目最外層文件夾名稱,如你將其命名為「ABC」,則之後的全部項目內容均將保存在「/ABC/…」目錄下。本地開發目錄:項目存放在本地的目錄。註:再次強調,如果你和團隊成員共同開發該項目,則建議你們使用同樣的目錄名稱及本地目錄,以確保協同開發的統一性。如果你之前已有項目,則導入過程與以上內容近似,不再贅述。4.准備工作全部完成後,點擊「新建項目」按鈕,彈出框點「確定」。5.如上圖所示,此刻, 開發者工具已經為你自動構建了一個初始的demo項目,該項目內包含了一個 應用項目所需具備的基本內容和框架結構。點擊項目名稱(圖中即「cards」)進入該項目,就能看到整個項目的基本架構了:第二章:項目構架 目前用戶群體非常龐大, 推出公眾號以後,火爆程度大家都看得到,也同樣推動著html5的高速發展,隨著公眾號業務的需求越來越復雜,應用號現在的到來也是恰到好處。我們發現, 提供給開發者的方式也在發生全面的改變:從操作DOM轉為操作數據,基於 提供的一個過橋工具實現很多Html5在公眾號很難實現的功能,有點類似於hybrid開發,不同於hybrid開發的方式是: 開放的介面更為嚴謹,結構必須採用他提供給的組件,外部的框架和插件都不能在這里使用上,讓開發者完全脫離操作DOM,開發思想轉變很大。工欲善其事,必先利其器。理解它的核心功能非常重要,先了解它的整個運作流程。生命周期:在index.js裡面:開發者工具上Console可以看到:在首頁console可以看出順序是AppLaunch-->AppShow-->onLoad-->onShow-->onReady。首先是整個app的啟動與顯示,app的啟動在app.js裡面可以配置,其次再進入到各個頁面的載入顯示等等。可以想像到這里可以處理很多東西了,如載入框之類的都可以實現等等。路由:路由在項目開發中一直是個核心點,在這里其實 對路由的介紹很少,可見 在路由方面經過很好的封裝,也提供三個跳轉方法。wx.navigateTo(OBJECT):保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面。wx.redirectTo(OBJECT):關閉當前頁面,跳轉到應用內的某個頁面。wx.navigateBack():關閉當前頁面,回退前一頁面。這三個基本上使用足夠,在路由方面 封裝的很好,開發者根本不用去配置路由,往往很多框架在路由方面配置很繁瑣。組件:此次 在組件提供方面也是非常全面,基本上滿足項目需求,故而開發速度非常快,開發前可以認真瀏覽幾次,開發效率會很好。其它:任何外部框架以及插件基本上無法使用,就算原生的js插件也很難使用,因為以前的js插件也基本上全部是一操作dom的形式存在,而 應用號此次的架構是不允許操作任何dom,就連以前開發者們習慣使用的動態設置的rem.js也是不支持的。此次 還提供了WebSocket,就可以直接利用它做聊天,可以開發的空間非常大。跟公眾號對比發現,開發應用號組件化,結構化,多樣化。新大陸總是充滿著驚喜,的彩蛋等著大家來發現。接下來開始搞一些簡單的代碼了!1.找到項目文件夾,導入你的編輯器裡面。在這里,我們使用了SublimeText編輯器。你可以根據自己的開發習慣選擇自己喜歡的編輯器。2.接下來,你需要根據自己的項目內容調整項目結構。在範例項目中,「card_course」目錄下面主要包含了「tabBar」頁面以及該應用的一些配置文件。3.示例項目的「tabBar」是五個菜單按鈕:4.找到「app.json」文件,用來配置這個五個菜單。在代碼行中找到「tabBar」:你可以根據實際項目需求更改,其中:「Color」是底部字體顏色,「selectedColor」是切換到該頁面高亮顏色,「borderStyle」是切換菜單上面的一條線的顏色,「backgroundColor」是底部菜單欄背景顏色。文字描述較為抽象,建議你一一調試並查看其效果,加深印象。「list」下的代碼順序必須依次放置,不能隨便更改。「pagePath」之後的文件名內,「.wxml」後綴被隱藏起來了,這是 開發代碼中人性化的一點——幫你節約寫代碼的時間,無須頻繁聲明文件後綴。「iconPath」為未獲得顯示頁面的圖標路徑,這兩個路徑可以直接是網路圖標。「selectedIconPath」為當前顯示頁面高亮圖標路徑,可以去掉,去掉之後會默認顯示為「iconPath」的圖標。「Text」為頁面標題,也可以去掉,去掉之後純顯示圖標,如只去掉其中一個,該位置會被佔用。注意: 的底部菜單最多支持五欄(五個icons),所以在你設計 應用的UI和基本架構時就要預先考慮好菜單欄的排布。5.根據以上代碼規則,我們做好了示例項目的基本架構,供你參考:6.「Json」文件配置好後,「card_course」的基本結構入上圖所示,不需要的子集都可以暫時刪除,缺少的子集則需要你主動新建。刪除子集時記得順帶檢查一下「app.json」里的相關內容是否已經一並刪除。注意:個人建議你新建一個「wxml」文件的同時,把對應的「js」和「wxss」文件一起新建好,因為 應用號的配置特點就是解析到一個「wxml」文件時,會同時在同級目錄下找到同文件名的「js」和「wxss」文件,所以「js」文件需及時在「app.json」里預先配置好。編寫「wxml」時,根據 應用號提供的介面編碼即可,大部分就是以前的「div」,而現在就用「view」即可。需要用其它子集時,可以根據 提供的介面酌情選擇。使用「class」名來設置樣式,「id」名在這里基本沒有什麼用處。主要操作數據,不操作「dom」。7.以上是示例項目首頁的「wxml」編碼。從圖中就可以看出,實現一個頁面代碼量非常少。8.「Wxss」文件是引入的樣式文件,你也可以直接在裡面寫樣式,示例中採用的是引入方式:9.修改代碼後刷新一次,可以看到未設背景的「view」標簽直接變成了粉色。注意:修改「wxml」和「wxss」下的內容後,直接F5刷新就能直接看到效果,修改「js」則需點擊重啟按鈕才能看到效果。10.另外,公共樣式可以在「app.wxss」里直接引用。11.「Js」文件需要在「app.json」文件的「page」里預先配置好。為了項目結構清晰化,在示例項目中的「index」首頁同級目錄新建其它四個頁面文件,具體如下:經過以上步驟,案例中的五個底部菜單就全部配置完畢了。如果你要入門的話,首先要掌握js、html、css知識。然後可以通過查看 公眾平台中的 小程序開發教程來大概了解 小程序的開發方式和調試方式,官方的介紹還是比較簡單易懂的。另外可以通過入門級的帖子/newsshow.php?id=142來了解具體開發流程。以上~~希望能給你一些幫助,希望點贊·
⑷ 微信小程序如何獲取javascript 里的數據
微信小程序 獲取javascript 里的數據
wxml如何獲取js里的數據
例:
wxml里:
<text id="twl">{{txt}}</text>
通過上面的{{txt}}可以對應獲取js里data下定義的txt的值
js里:
data: { txt:{} }
首先在data里定義一個「容器」txt:{},{}內為空代表是從別的地方傳值進去,當然{}里也可以直接寫數據,如txt:{『123'},上面的wxml獲取了就相當於 <text id="twl">123</text>;通過其他方法傳值到容器里用一個this.setData({})的方法,如:
onLoad: function (options) { var ta=options.kind; this.setData({ txt:ta, }) },
這樣上面data里定義的txt的值就是ta的值了。
Tips:小程序一定要用https
⑸ 微信小程序 怎麼獲取到data 數據
獲取page數據,看代碼:var text=this.data.name ,這樣就獲取到初始化的值
page({
data:{name:"test"},
showData:function(){
var text=this.data.name
}
})
⑹ 微信小程序json數據處理
JSON是極為重要的工具:小程序之間傳遞JSON。
1. JSON.stingify()可以將JSON對象或者數組轉換成json格式字元串。
2. JSON.parse()將json格式的字元串,轉換成JSON對象或者數組。
3. wx.request()微信小程序的請求發送中文數據時候,需要轉換。
使用:
1、JSONObject操作獲取key對應的value。
2、JSONObject jsonObject=JSONObject.fromObject(objectitem);。
3、String proctno = jsonObject.getString("proctno");。
4、Integer number = jsonObject.getInt("number");。
5、 JSONArray獲取第幾個JSONObject。6、jsonArray.get(0)。
⑺ 微信小程序WXML頁面如何獲取全局變數值
首先在wxml中是無法顯示app.js中的全局變數(也就是app.js裡面globalData中的變數),如果想用到.js中的變數時可以在當前頁面中的js文件裡面先將全局變數獲取的本地。舉例子如下
------------------------分割線---------------------------
需求:將全局變數中的test:"hello world!" 顯示到當前頁面
-----------------------分割線--------------------------
app.js文件內容
App({
globalData{
test:"hello world"
}
})
-----------------------分割線---------------------
index.js文件內容
var app =getApp()
Page({
test:null
})
onLoad: function (options) {
this.setData({
test:app.globalData.test
})
}
---------------------分割線------------------------
index.wxml文件內容
<view>{{test}}</view>
⑻ 微信小程序怎麼實現內容的展開和收起
看到一個需求,對一些前端小白或者剛開始寫小程序的人來說,可能會有點幫助,效果如下:
就是以上效果,廢話不多說,上代碼
wxml:
<view class='list_box' wx:for='{{list}}' wx:key='this' wx:for-item='parentItem' wx:for-index='parentIndex' >
<view class='list'>
<view class='list_name_box' catchtap='listTap' data-parentindex='{{parentIndex}}'>
<text class='list_item_name'>{{parentItem.listName}}</text>
<image src='/img/down.png' class='icon_down {{parentItem.show&&"icon_down_rotate"}}'></image>
</view>
<view class='list_item_box' wx:if='{{parentItem.show}}'>
<view class='list_item' wx:for='{{parentItem.item}}' wx:key='this' catchtap='listItemTap' data-index='{{index}}' data-parentindex='{{parentIndex}}'>
<view class='list_item_name_box'>
<text class='list_item_name'>{{item.itemName}}</text>
<image src='/img/down.png' class='icon_down {{item.show&&"icon_down_rotate"}}'></image>
</view>
<view class='other_box' wx:if='{{item.show}}'>
<view class='other'>
<text class='other_title'>內容:</text>
<text class='other_text'>{{item.content}}</text>
</view>
<view class='other'>
<text class='other_title'>時間:</text>
<text class='other_text'>{{item.time}}</text>
</view>
</view>
</view>
</view>
</view></view>
然後wxss:
page{
background: #f3f7f7;}.list_name_box{
background: #fff;
border-bottom: 1px solid #efefef;
display: flex;
height: 90rpx;
align-items: center;
padding: 0 25rpx;
font-size: 32rpx;}.list_item_name{
flex: 1;}.icon_down{
width: 35rpx;
height:35rpx;
transition:transform 0.3s;}/* .list_item_box{
height: 0;
transition:height 0.3s;
overflow: hidden;
}
.list_item_box_show{
height: 500rpx;
} */.list_item_name_box{
background: #fff;
font-size: 30rpx;
height: 80rpx;
display: flex;
align-items: center;
padding: 0 25rpx 0 50rpx;}.other{
display: flex;
height: 80rpx;
padding: 0 25rpx 0 50rpx;
align-items: center;
font-size: 30rpx;
color: #666;}.icon_down_rotate{
transform:rotate(180deg);}
JS:
// pages/dome/dome.jsPage({
/**
* 頁面的初始數據
*/
data: {
list:[
{listName:'列表1',
item:[{
itemName:'子列表1-1',
content:'1-1中的內容',
time: '2015-05-06'
}, {
itemName: '子列表1-2',
content: '1-2中的內容',
time: '2015-04-13'
}, {
itemName: '子列表1-3',
content: '1-3中的內容',
time: '2015-12-06'
}]
},
{
listName: '列表2',
item: [{
itemName: '子列表2-1',
content: '2-1中的內容',
time: '2017-05-06'
}, {
itemName: '子列表2-2',
content: '2-2中的內容',
time: '2015-08-06'
}, {
itemName: '子列表2-3',
content: '2-3中的內容',
time: '2015-11-06'
}]
}, {
listName: '列表3',
item: [{
itemName: '子列表3-1',
content: '3-1中的內容',
time: '2015-05-15'
}, {
itemName: '子列表3-2',
content: '3-2中的內容',
time: '2015-05-24'
}, {
itemName: '子列表1-3',
content: '3-3中的內容',
time: '2015-05-30'
}]
}
]
},
//點擊最外層列表展開收起
listTap(e){
console.log('觸發了最外層');
let Index = e.currentTarget.dataset.parentindex,//獲取點擊的下標值
list=this.data.list;
list[Index].show = !list[Index].show || false;//變換其打開、關閉的狀態
if (list[Index].show){//如果點擊後是展開狀態,則讓其他已經展開的列表變為收起狀態
this.packUp(list,Index);
}
this.setData({
list });
},
//點擊裡面的子列表展開收起
listItemTap(e){
let parentindex = e.currentTarget.dataset.parentindex,//點擊的內層所在的最外層列表下標
Index=e.currentTarget.dataset.index,//點擊的內層下標
list=this.data.list;
console.log(list[parentindex].item,Index);
list[parentindex].item[Index].show = !list[parentindex].item[Index].show||false;//變換其打開、關閉的狀態
if (list[parentindex].item[Index].show){//如果是操作的打開狀態,那麼就讓同級的其他列表變為關閉狀態,保持始終只有一個打開
for (let i = 0, len = list[parentindex].item.length;i<len;i++ ){
if(i!=Index){
list[parentindex].item[i].show=false;
}
}
}
this.setData({list});
},
//讓所有的展開項,都變為收起
packUp(data,index){
for (let i = 0, len = data.length; i < len; i++) {//其他最外層列表變為關閉狀態
if(index!=i){
data[i].show = false;
for (let j=0;j<data[i].item.length;j++){//其他所有內層也為關閉狀態
data[i].item[j].show=false;
}
}
}
},
onLoad: function (options) {
},
/**
* 生命周期函數--監聽頁面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函數--監聽頁面顯示
*/
onShow: function () {
},
/**
* 生命周期函數--監聽頁面隱藏
*/
onHide: function () {
},
/**
* 生命周期函數--監聽頁面卸載
*/
onUnload: function () {
},
/**
* 頁面相關事件處理函數--監聽用戶下拉動作
*/
onPullDownRefresh: function () {
},
/**
* 頁面上拉觸底事件的處理函數
*/
onReachBottom: function () {
},
/**
* 用戶點擊右上角分享
*/
onShareAppMessage: function () {
}})
作者:
鏈接:https://www.imooc.com/article/30662
來源:慕課網
本文原創發布於慕課網 ,轉載請註明出處,謝謝合作
⑼ 微信小程序 在JS中取出冒號右邊的值
你可以試試
let [count(id):id]=res.data;
console.log("id:",id);
⑽ 微信小程序中wxs中int類型怎麼轉字元串
1、字元串轉換成數字:
C語言庫函數:atoi 實現了此功能。
int atoi(const char *nptr);
函數說明: 參數字元串,如果第一個非空格字元存在或者不是數字也不是正負號則返回零,否則開始做類型轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回整型數。
代碼如下:
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
/**
* 功能:string轉int
* 注意:
* 1、字元串是否為空;
* 2、忽略\t 或空格;
* 3、溢出判斷;
* 4、輸入字元串只有「+」或「-」號時;
* 5、掃描參數src字元串,跳過前面的空格字元,直到遇上數
字或正負符號才開始做轉換,而再遇到非數字或字元串結束時
('\0')才結束轉換,並將結果返回。
*/
int convertionStringToInt(char *src)
{
bool flag=false;
long num=0; /*使用long類型,數據溢出情形*/
int minus=0;
if((NULL == src)||('\0'== *src)) //判斷如慘字元串指針是否為空
{
return 0;
}
if(('\t' == *src)||(' ' == *src)) //忽略tab字元和空格字元
{
src ++;
}
if('-' == *src) //判斷是否是『+』 或 『-』符號
{
flag=true;
src++;
}
else if('+' == *src)
{
src++;
}
minus=flag?-1:1;
while('\0' != *src)
{
if(('0' <= *src)&&('9' >= *src))
{
num= num*10+minus*((*src)-'0');
if((!flag && num > 0x7FFFFFFF)
|| (flag && num < (signed int)0x80000000)) //判斷轉換後的整型數是否溢出,注意正負數均要判斷
{
num = 0;
break;
}
src++;
}
else
{
break; //遇到非數字字元時結束轉換
}
}
return num;
}
int main()
{
char data[8][15]={"4673","15234234234","-3489","+9776","ab67","123bd","+","-"};
int i=0;
int val=0;
for(i=0;i<8;i++)
{
printf("Before data[%ld]=%s ",i,data[i]);
val=convertionStringToInt(data[i]);
printf("After Convert=%d\n",val);
}
return 0;
}