全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2873 3
2014-01-10
stata中如何把小数格式的数转化成分数格式的数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-1-11 07:50:49
There is no numerical type in percentage, you have to use string as

gen y = string(100 * x, "%10.4f") + "%"
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-1-11 10:05:59
jjjj6666 发表于 2014-1-11 07:50
There is no numerical type in percentage, you have to use string as

gen y = string(100 * x, "%10. ...
貌似仅仅是把数值扩大了100倍,然后加了个百分号,不能满足楼主的需求吧。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-1-12 01:32:18
How about a brute force attack, which may be slow depending on the precision

cap prog drop d2f2
prog d2f2
        args f precision

        tempname df num den
   
  sca `num' = 1
  sca `den' = 1
   
  sca `df' = `num'/`den'
  while abs(`df'-`f') > `precision' {
                if (`df' < `f') {
                        sca `num' = `num' + 1
                }
                else {
                        sca `den' = `den' + 1
                        sca `num' = int(`f' * `den')
                }
                sca `df' = `num' / `den'
        }
        sca num = `num'
        sca den = `den'
end

qui {
        sca x=-3.14159265358979
        sca absx = abs(x)
        sca intg = int(x)
        sca frac = abs(abs(x)-int(abs(x)))
        sca num = 0
        sca den = 0
        d2f2 frac 1e-7
        local xx = x
        local numm = num
        local denn = den
        local intgg = intg
        if intg != 0 {
                noi di as text "`xx' = `intgg' `numm'/`denn'"
        }
        else {
                noi di as text "`xx' = `numm'/`denn'"
        }
       
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群