Ce face strconv.ParseComplex
Go are numere complexe încorporate (complex128, complex64). strconv.ParseComplex(s, bitSize) citește forme ca "3+4i", "-2.5i", "7" sau "(1-1i)"; textul nu poate conține spații. bitSize este 128 pentru complex128 sau 64 pentru complex64.
strconv.FormatComplex(c, fmt, prec, bitSize) scrie numărul ca (a+bi); fmt și prec au același sens ca la FormatFloat, iar bitSize este 128 sau 64.
Parametri
| Parametru | Descriere |
|---|---|
s |
La ParseComplex: textul. |
c |
La FormatComplex: numărul complex. |
fmt, prec |
Formatul și precizia, ca la FormatFloat. |
bitSize |
128 (complex128) sau 64 (complex64). |
Ce returnează
ParseComplex: numărul și eroarea. FormatComplex: textul, între paranteze.
Exemple
Exemplul 1: Citire, calcul și afișare
package main
import (
"fmt"
"math/cmplx"
"strconv"
)
func main() {
z, err := strconv.ParseComplex("3+4i", 128)
fmt.Println(z, err)
fmt.Println("modul:", cmplx.Abs(z))
fmt.Println(strconv.FormatComplex(z*z, 'f', 1, 128))
_, err = strconv.ParseComplex("3 + 4i", 128)
fmt.Println(err)
}
Rezultat
(3+4i) <nil>
modul: 5
(-7.0+24.0i)
strconv.ParseComplex: parsing "3 + 4i": invalid syntax
Greșeli frecvente
- Pui spații în text (
"3 + 4i"): dă eroare. Scrie"3+4i". - Folosești
bitSize64 crezând că înseamnăfloat64. La numere complexe, 64 înseamnăcomplex64(douăfloat32); pentru precizie completă folosește 128.
Comenzi înrudite
strconv.ParseFloat: Citește un număr cu zecimale dintr-un text (cu punct, nu cu virgulă) ca float64.strconv.FormatFloat: Transformă un număr cu zecimale în text, cu formatul (‘f’, ‘e’, ‘g’) și numărul de zecimale dorite.