RatNum 표현식을 점 넷 십진수로 변환하고 싶습니다. RatNum에는 ToDecimalString 메서드가 있지만 ToDecimal 메서드는 없습니다. 이것에 대한 이유가 있습니까? RatNum을 Decimal.Parse (ratnum.ToDecimalString (2)) 이외의 소수로 변환하는 다른 방법이 있습니까? 감사.RatNum에 ToDecimal() 메서드가없는 이유는 무엇입니까?
1
A
답변
5
이 질문에 대한 간단한 대답은 System.Decimal 형식이 (IEEE-754가 아닌) 부동 소수점 형식 인 반면 Z3의 RatNum은 rationals에 대한 무한 정밀도 형식이라는 것입니다. 이것은 유리수의 십진법 확장이 반드시 유한 한 것은 아니기 때문에 필요합니다 (예 : 1/3).
정밀도 p를 취하여 최대 p 자리수의 합리적인 10 진수 문자열 표현을 생성하는 ToStringDecimal을 사용할 수 있습니다. 이것은 Int64 나 Single/Double/Decimal보다 더 많은 자릿수가 될 수 있습니다.
또는 ToString을 사용하여 정확한 표현을 생성 할 수 있습니다. '1/3'.
다른 형식의 소수를 생성하는 데 사용할 수있는 합리적인 분자와 분모를 구하는 함수도 있습니다.
Z3은 무한 정밀도이며 솔루션을 근사해야하는 경우 Z3 외부에서 문자열과의 변환 방법이나 다른 변환을 통해 수행해야합니다. 예컨대
x.Numerator.Int/x.Denominator.Int
애플리케이션이 결과를 부동 소수점 근사 겪지 않으면 그 정수는 INT 타입의 최대 값을 초과하지 않을 것으로 알려지면.
관련 문제
- 1. Convert.toFloat() 메서드가없는 이유는 무엇입니까?
- 2. BigDecimal.setPrecision() 메서드가없는 이유는 무엇입니까?
- 3. SerializationInfo에 TryGetValue 메서드가없는 이유는 무엇입니까?
- 4. NSArray에 firstObject 메서드가없는 이유는 무엇입니까?
- 5. C++ std :: vector에 pop_front 메서드가없는 이유는 무엇입니까?
- 6. ExtJS 3.4.0에서 정의 메서드가없는 이유는 무엇입니까?
- 7. 컨텍스트 클래스에 startActivityWIthResult 메서드가없는 이유는 무엇입니까?
- 8. 매개 변수가없는 IsNullOrEmpty 오버로드 메서드가없는 이유는 무엇입니까?
- 9. WPF - "OnDataContextChanged"대체 메서드가없는 이유는 무엇입니까?
- 10. .Net MVC에서 Html.CheckBoxFor() 메서드가없는 이유는 무엇입니까?
- 11. AlertDialog.Builder에 setOnDismissListener 또는 setOnShowListener 메서드가없는 이유는 무엇입니까?
- 12. String 클래스에 countOf 메서드가없는 이유는 무엇입니까?
- 13. Django ValuesListQuerySet에 append() 메서드가없는 이유는 무엇입니까?
- 14. Ember 네임 스페이스에 getProperties 메서드가없는 이유는 무엇입니까?
- 15. ActiveRecord :: Associations :: CollectionProxy 정보 save_all 메서드가없는 이유는 무엇입니까?
- 16. C# : LinkedList에 술어를 사용하는 RemoveAll 메서드가없는 이유는 무엇입니까?
- 17. OnLoad 메서드가없는 System.Windows.Controls.Control
- 18. setter 메서드가없는 GWT Autoban
- 19. 라이브러리 메서드가없는 이진 검색
- 20. Checkstyle Override 메서드가없는 ParameterNumber
- 21. 추상 메서드가없는 추상 클래스
- 22. getter/setter 메서드가없는 jsonencoderdecoder
- 23. get() 메서드가없는 AsyncTask의 반환 값
- 24. 메서드가없는 클래스에 비공개 필드가 필요합니까?
- 25. 호출 메서드가없는 UISegmentedControl을 설정하는 방법
- 26. max() 메서드가없는 목록의 최대 값
- 27. VolatileImage에 set/getPixel() 메서드가없는 이유
- 28. 밑줄, 테이블 크기 등과 같은 일부 문자열 메서드에 대한 메서드가없는 이유는 무엇입니까?
- 29. Dictionary <TKey, TValue> .KeyCollection 클래스에 자체 Contains 메서드가없는 이유는 무엇입니까?
- 30. 컬렉션을 가져 오는 EntityManager.persist가없는 이유는 무엇입니까?
누구에게 물어보고 있으며, 어떤 대답을 원하십니까? 문자열에'ToWhatShouldICallIt()'메서드가없는 이유를 묻는 것과 비슷합니다. 프레임 워크를 만든 프로그래머에게 물어보아야합니다. – Patrick
Patrick :이 질문은 Microsoft Research의 Z3 theorem 증명 도구에 대한 관리 API에 대한 것입니다. 질문은 올바르게 태그가 지정되었고 실제로 프레임 워크의 개발자에게 전달되었습니다. –