第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將 float 常量類型轉(zhuǎn)換為 int 期間,常量被截?cái)酁檎麛?shù)錯(cuò)誤

將 float 常量類型轉(zhuǎn)換為 int 期間,常量被截?cái)酁檎麛?shù)錯(cuò)誤

Go
海綿寶寶撒 2023-07-31 14:58:34
以下代碼在“ var a int = int(1.333) ”行上引發(fā)錯(cuò)誤“常量截?cái)酁檎麛?shù)”。我是 GO 新手,無法找出實(shí)際問題。package mainimport (    "fmt"    "math")func main() {    var x, y int = 3, 4    const k float64=2.2    var a int = int(1.333)    var f float64 = math.Sqrt(float64(x*x+y*y))    var z uint = uint(f)    fmt.Println(x, y, z,a)}
查看完整描述

1 回答

?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊

常量的轉(zhuǎn)換遵循與非常量的轉(zhuǎn)換不同的規(guī)則。

第一個(gè)非常數(shù):

數(shù)值類型之間的轉(zhuǎn)換

對(duì)于非常量數(shù)值的轉(zhuǎn)換,適用以下規(guī)則:

  1. ...

  2. 將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)時(shí),小數(shù)部分將被丟棄(向零截?cái)啵?/strong>

  3. ...

所以這是可能的:

var?f?=?float64(1.333)
var?i?=?int(f)

現(xiàn)在常數(shù):

如果 x 可以用 T 的值表示,則常量值 x 可以轉(zhuǎn)換為類型T。

然后,在文檔中,有一個(gè)示例表達(dá)式列表,其中之一是:

int(1.2)?//?illegal:?1.2?cannot?be?represented?as?an?int

論代表性

如果滿足以下條件之一,則常量 x 可由類型 T 的值表示:

  • x 位于由 T 確定的值集中。

  • T 是浮點(diǎn)類型,x 可以舍入到 T 的精度而不會(huì)溢出。舍入使用 IEEE 754 舍入到偶數(shù)規(guī)則,但 IEEE 負(fù)零進(jìn)一步簡(jiǎn)化為無符號(hào)零。請(qǐng)注意,常量值永遠(yuǎn)不會(huì)導(dǎo)致 IEEE 負(fù)零、NaN 或無窮大。

  • T 是復(fù)數(shù)類型,x 的分量 real(x) 和 imag(x) 可通過 T 的分量類型(float32 或 float64)的值表示。

這 3 個(gè)條件都不適用于該表達(dá)式var a int = int(1.333),因此它是非法的。


查看完整回答
反對(duì) 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)