-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
計算した値を四捨五入するのをやめられますか #535
Comments
```
$ (format t "~32,16f~%" (/ (send time :to-nsec) 1000000000.0))
1502013373.6416673660278320
```
はどうでしょう.あとは、
```
$ setq answer (+ (* (send time :sec) 1000000000) (send time :nsec))
1502013373641667228
$ answer
1502013373641667228
```
というほうほうもあります.
あとは、もとのanswerの計算法だと
```
$ (format t "~f" answer)
1502013373641666560.0nil
$ (format t "~32,12f" answer)
1502013373641666560.000000000000
```
でしょうか.
…--
◉ Kei Okada
2017年8月6日 18:35 Kanae Kochigami <[email protected]>:
pythonだと、
1.50199099766e+18 のように表示されるのですが、
euslispだと、
1.501991e+18 のようになります。
やりたいことは、
時間を記録して、ファイルに書き込むことなので、
今の所は計算をせず、sec, nsec両方取り出してファイルに書き込もうと思います。
4.E2-irteusgl$ setq time (ros::time-now)
#<ros::time #X57bc058 1502011442.658>
5.E2-irteusgl$ send time :sec
1502011442
6.E2-irteusgl$ send time :nsec
658569503
7.E2-irteusgl$ setq answer (+ (* (send time :sec) 1000000000.0) (send time :nsec))
1.502011e+18
8.E2-irteusgl$ answer
1.502011e+18
9.E2-irteusgl$ send time :now
#<ros::time #X57bc058 1502011531.816>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#535>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3H0a-2Lv3cij7uf1VKxYwsyDI-Saks5sVYjsgaJpZM4Ourxb>
.
|
ご教示ありがとうございました。 もう一点、もしよろしければご教示ください。
|
$ (setq xxx (format nil "~32,16f" (/ (send time :to-nsec) 1000000000.0)) )
" 1502013373.6416673660278320"
$ (print abc)
" 1502013373.6416673660278320
"
" 1502013373.6416673660278320
"
でどうでしょう.
…--
◉ Kei Okada
2017年8月6日 20:49 Kanae Kochigami <[email protected]>:
ご教示ありがとうございました。
もう一点、もしよろしければご教示ください。
(format t "~32,16f~%" (/ (send a :to-nsec) 1000000000.0))
の値をそのまま別の変数に代入したいのですが、できますでしょうか。
今は、記録をまとめて、string メッセージにして、
トピックに乗せて、それをファイルに書くようにしています・・・
22.E4-irteusgl$ (setq time_and_str (format nil "~a, ~a" (format t "~32,16f~%" (/ (send a :to-nsec) 1000000000.0)) "hoge"))
1502019885.0964641571044922
"nil, hoge"
23.E4-irteusgl$ time_and_str
"nil, hoge"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#535 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3BkMNCpa7oXcOlhzmK6rOgLCYMjHks5sVahZgaJpZM4Ourxb>
.
|
ご教示ありがとうございました。 format t/ nil の違いがいまいち分かっていないので、 |
formant t は標準出力への書き出し
nilは書き出さない
どちらにせよformat関数はフォーマットされた文字を返すので、nilで何も標準させずに、変数に割り当てる
と言うことをしています
2017年8月6日(日) 21:10 Kanae Kochigami <[email protected]>:
ご教示ありがとうございました。
format t/ nil の違いがいまいち分かっていないので、
勉強します。
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#535 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAeG3Nt4LMnhwlYCkNmSfR9f3U_m_Rauks5sVa0bgaJpZM4Ourxb>
.
--
--
◉ Kei Okada
|
すみません、今度はファイルに書き込んだ値を、 たくさんファイルに書いてある数の大きさを比べたいのですが、
tmp.l
|
以下のような感じで、プリントXXXe+ZZZと同じように表示されていても、
|
pythonだと、
1.50199099766e+18
のように表示されるのですが、euslispだと、
1.501991e+18
のようになります。やりたいことは、
時間を記録して、ファイルに書き込むことなので、
今の所は計算をせず、
sec
,nsec
両方取り出してファイルに書き込もうと思います。The text was updated successfully, but these errors were encountered: