hitakiri
@hitakiri

Как записать число дробью в Go?

Доброго времени.
Необходимо хранить в переменных запись дроби, к примеру 1/4 , а не 0.25.
Т.е. что-то типа :
//Естественно это не работает!!! Код вставил для примера

var ch1 float64
ch1 = 1 / 4
fmt.Println(ch1)

//--------------
0.25


Возможно кто-то сталкивался с подобной задачей.
Заранее благодарю.
  • Вопрос задан
  • 425 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mantyr
Пишу много Golang кода с удовольствием:)
Сделайте структуру, передавайте в неё текст, дальше сделайте из этого пакет и добавьте методы по управлению, конвертации и так далее...

package main

import (
	"fmt"
	"strings"
	"errors"
)

func main() {
	fmt.Println("Hello, playground")
	
	d := New()
	d.Parse("1/4")
	fmt.Println(d)
}

type Shot struct {
	i string                   // number
	f string                   // fraction
}

func New() (s *Shot) {
	s = new(Shot)
	return
}

func (s *Shot) Parse(text string) (err error) {
	v := strings.Split(text, "/")
	if len(v) != 2 {
		err = errors.New("Error parse shot")
		return	
	}
	s.i = v[0]
	s.f = v[1]
	return
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы