Tôi biết đây là câu hỏi về tổng số người mới, nhưng câu trả lời có thể không hiển nhiên đối với nhiều lập trình viên mới. Ban đầu nó không rõ ràng với tôi vì vậy tôi đã lùng sục Internet tìm kiếm các mô-đun Perl để thực hiện nhiệm vụ đơn giản này.Làm cách nào để chuyển đổi giữa ký hiệu khoa học và thập phân trong Perl?
5
A
Trả lời
17
sprintf hiện các trick
use strict;
use warnings;
my $decimal_notation = 10/3;
my $scientific_notation = sprintf("%e", $decimal_notation);
print "Decimal ($decimal_notation) to scientific ($scientific_notation)\n\n";
$scientific_notation = "1.23456789e+001";
$decimal_notation = sprintf("%.10g", $scientific_notation);
print "Scientific ($scientific_notation) to decimal ($decimal_notation)\n\n";
tạo ra sản lượng này:
Decimal (3.33333333333333) to scientific (3.333333e+000)
Scientific (1.23456789e+001) to decimal (12.3456789)
3
Trên một chủ đề có liên quan, nếu bạn muốn chuyển đổi giữa ký hiệu thập phân và engineering notation (mà là một phiên bản của ký hiệu khoa học) , mô-đun Number::FormatEng từ CPAN tiện dụng:
use Number::FormatEng qw(:all);
print format_eng(1234); # prints 1.234e3
print format_pref(-0.035); # prints -35m
unformat_pref('1.23T'); # returns 1.23e+12
Các vấn đề liên quan
- 1. Làm thế nào để chuyển đổi chuỗi ký hiệu khoa học thành ký hiệu thập phân?
- 2. chuyển đổi ký hiệu khoa học ký hiệu bash
- 3. Format chuỗi thành ký hiệu khoa học
- 4. Làm cách nào để chuyển đổi số thành ký hiệu khoa học?
- 5. Convert to từ ký hiệu khoa học để thập phân với ggplot
- 6. matplotlib; quyền hạn phân số mười; ký hiệu khoa học
- 7. Chuyển đổi ký hiệu khoa học thành float khi sử dụng OpenRowSet để nhập tệp .CSV
- 8. Java: Chuyển đổi ký hiệu khoa học để thường xuyên int
- 9. Chuyển đổi từ chuỗi ký hiệu khoa học thành float trong C#
- 10. Lưu trữ các số nhỏ (1.0E-12) làm tăng gấp đôi ký hiệu khoa học
- 11. tắt ký hiệu khoa học trong Gson serialization đôi
- 12. Làm cách nào để tránh ký hiệu khoa học với số lượng lớn?
- 13. Java DecimalFormat Ký hiệu khoa học Câu hỏi
- 14. Định dạng giá trị kép theo ký hiệu khoa học
- 15. Chuyển đổi giữa số thập phân và cơ số 36
- 16. Loại bỏ ký hiệu khoa học từ phao
- 17. Chuyển đổi một chuỗi có chứa một số trong ký hiệu khoa học thành một đôi trong PHP
- 18. Làm thế nào để học ký hiệu toán học?
- 19. Cách chuyển đổi một Chuỗi chứa Ký pháp khoa học để sửa định dạng số Javascript
- 20. Chuyển đổi một chuỗi (có ký pháp khoa học) thành một int trong Python
- 21. Codecademy "chuyển đổi giữa các ký hiệu và chuỗi" ruby bài học
- 22. Tự động xử lý các số theo ký hiệu e (khoa học) trong python
- 23. R/Sweave định dạng số với \ Sexpr {} trong ký hiệu khoa học
- 24. Làm cách nào để phân tích ngày và chuyển đổi múi giờ trong Perl?
- 25. Làm cách nào để ép matplotlib ghi ra dạng đầy đủ của nhãn trục x, tránh ký hiệu khoa học?
- 26. Làm cách nào để chuyển đổi hex sang thập phân bằng Python?
- 27. Double ToString - Không có ký pháp khoa học
- 28. Làm thế nào để chuyển đổi số trong số hex, oct, thập phân và nhị phân trong OCaml?
- 29. Chuyển đổi thập phân sang thập phân trong lisp chung
- 30. Chuyển đổi Hexadecimal để thập phân
Tôi phải sử dụng "% .10f" để lấy giá trị thập phân, vì "g" giữ nó trong ký pháp khoa học. Tôi đang sử dụng Perl v5.10.1 trên Ubuntu. Nice post, cảm ơn! – Alan
Tôi không thể nhận 'sprintf' để hoạt động nhưng' printf' và '% .10f' thay vì' g' hoạt động tốt. Perl phiên bản 5.14.2. – terdon