GetTextExtentPoint计算结果不准确 [问题点数:40分,结帖人xianglitian]

Bbs6
本版专家分:5171
结帖率 91.38%
Bbs12
本版专家分:361543
版主
Blank
名人 2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
Blank
金牌 2012年1月 总版技术专家分月排行榜第一
Bbs6
本版专家分:5171
Bbs10
本版专家分:140791
版主
Blank
微软MVP 2013年10月 荣获微软MVP称号
2012年10月 荣获微软MVP称号
2011年10月 荣获微软MVP称号
2010年10月 荣获微软MVP称号
Blank
红花 2012年4月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年5月 VC/MFC大版内专家分月排行榜第二
2012年3月 VC/MFC大版内专家分月排行榜第二
2011年7月 VC/MFC大版内专家分月排行榜第二
2011年1月 VC/MFC大版内专家分月排行榜第二
2010年12月 VC/MFC大版内专家分月排行榜第二
2010年9月 VC/MFC大版内专家分月排行榜第二
2010年6月 VC/MFC大版内专家分月排行榜第二
2010年5月 VC/MFC大版内专家分月排行榜第二
2010年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2010年11月 VC/MFC大版内专家分月排行榜第三
GetTextExtentPoint32() 判断一个字串的大小(范围)
GetTextExtentPoint32  (2006-07-18 11:16:29) 转载▼   分类: 学习日志 【别名】 GetTextExtentPoint32A 【说明】 判断一个字串的大小(范围)。在Win32环境中,最好使用GetTextExtentPoint32,它提供了更精确的<em>计算结果</em> 【返回值】 Lon
取得字符串的宽高坐标【GetTextExtentPoint32】
SIZE m_sizeReset; TCHAR *szReset = _T("测试按钮"); HDC dc = GetDC(); ::GetTextExtentPoint32(dc,szReset,strlen(szReset),&m_sizeReset); ReleaseDC(dc);
javascript计算结果准确
我写了个表单,内有三个rn在onchange事件中执行一段脚本,内容为计算两个输入框中的差,<em>计算结果</em>不<em>准确</em>rn例如:rnfunction account()rn var num1=Number(form1.input1.value);rn var num2=Number(form1.input2.value);rn form1.input3.value=num1-num2;rnrn假如num1等于433,num2等于4335,<em>计算结果</em>却变成了3901.7799999999997rnrn求高手帮忙!!
sql数学公式不计算结果
[color=#FF6600]单价是decimal类型,需要通过公式计算出来,现在显示的是字符串,公式不计算,我希望得到计算出来的decimal类型。[/color]rnrn--sql语句如下:rnSELECT T.QuoteDetId, rn T.QuoteID, rn T.QuoteNO, rn T.MaterialID, rn T.MaterialNO,rnT.BatchID, rnT.IsBatch, rn[color=#FF6600]replace(replace( replace(replace(T6.Formula,'单价',T.UnitPrice),'length',T5.length),'Width',T5.Width),'Weight',T5.Weight) as '单价',[/color]rnT.Currency, rn T.ExchangeRate, rnT.ActPeriodDay, rn T.Remark, rnT.InquireID, rn T.InquireNO, rn T.InqDetID, rn T.SelectFlag, rnT2.IsBySupplier, rn T3.BussinessId, rn T3.ApproveStatus, rn T3.CreateByID, rn T3.ApproveEndDtrnFROM dbo.MPS_QuoteDetail AS T rn INNER JOIN dbo.MPS_Quote AS T2 ON T.QuoteID = T2.QuoteID and T.IsBatch=1rn INNER JOIN dbo.MPS_Inquire AS T3 ON T3.InquireID = T.InquireID rn INNER JOIN dbo.MPS_InquireDetail AS T4 ON T4.InquireID = T3.InquireID rn AND T.InqDetID=T4.InqDetIDrn AND T2.ApproveStatus = 1 rn AND T.UnitPrice>0 rn INNER JOIN dbo.MPS_Material T5 on T.BatchID=T4.BatchID rn and T4.Brand=T5.Brandrnand T5.Weight between T4.WeightMin and T4.WeightMaxrnand T5.IsParticular=T4.IsParticularrn inner join MPS_BatchSet T6 on T5.BatchID=T6.BatchIDrnrn[color=#FF6600]运行结果,单价列,显示如下:rn7470.0000*1194.000*889.000*190/2000000000,(不计算,结果是字符串)[/color]
关于API GetTextExtentPoint
发现有时调用showMessage、messageDlg程序停止相应,一开始没有在意。后来跟踪一下发现运行到Dialogs.pas单元GetAveCharSize(Canvas: TCanvas): TPoint函数的如下语句rn GetTextExtentPoint(Canvas.Handle, Buffer, 52, TSize(Result))rn时程序停止响应,这时Result的x、y中有一个是负数,于是在前面添加:rn Result.X:=10; Result.Y:=10; // dyf 2003-02-18 我添加的rn结果还是一样。rnrn事情起因是我在数据模块中调用MainForm.ProgressBar用于显示进度,如果注释调这些语句则没有问题。调用过程如下:rnfunction TBackup.RestoreAll: boolean;rnvarrn i:integer;rnbeginrn ImportForm.cbbLog.Clear;rn MainForm.ProgressBar.Visible:=True;rn for i:=0 to Ftables.Count-1 do beginrn Result:=Restore(TTableBackup(Ftables.Objects[i]));rn MainForm.ProgressBar.Position:=(i+1)*100 div Ftables.Count;rn if not Result then Break;rn end;rn MainForm.ProgressBar.Visible:=False;rnend;rnrnDialogs.pas单元GetAveCharSize函数如下,用于获得字符width\heightrnfunction GetAveCharSize(Canvas: TCanvas): TPoint;rnvarrn I: Integer;rn Buffer: array[0..51] of Char;rnbeginrn Result.X:=10; Result.Y:=10; // dyf 2003-02-18 我添加的rn for I := 0 to 25 dorn Buffer[I] := Chr(I + Ord('A'));rn for I := 0 to 25 dorn Buffer[I + 26] := Chr(I + Ord('a'));rn GetTextExtentPoint(Canvas.Handle, Buffer, 52, TSize(Result));rn Result.X := Result.X div 52;rnend;
sql 模糊查询不准确
如题rn[code=SQL]rnsql = "select * from SalesManage where Principal like '%" + Request["Principal"].ToString() + "%' order by ClientID,ActivationTime asc";rn[/code]rn比如上面这句,当查询的汉字是两个字时可以查出来,当查询的汉字是三个汉字时不能查询出结果,rn例如,'%唐三%'可以查出“唐三藏“这条记录,而'%唐三藏%'则不能查出”唐三藏“这条记录。
执行计划不准确
http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/35d3df7d-ff82-48a4-bfbc-ffb95e31017frn没人鸟我...来csdn发个..rn多谢rnrnI have a typical fact - dimensional data warehouse, and when I am querying data from it I see strange thing happens...rnrnsample query(query 1):rnrn[code=SQL]Select count(1) from fct_device trnWhere t.monitored_Id=2 andrn t.data_time_id in (rn [b] select data_time_id from dim_date trn where data_date >= 28 andrn not exists(select 1 from dim_datern where data_date > t.data_date and rn data_year = t.data_year andrn data_month = t.data_month )[/b]rn )[/code]rnrnTables:rnrn fct_device is partitioned by data_time id (int) and contains roughly 20,000,000 records.rnrn dim_date is a relatively small dimension table, containing ~30 records.rnrn If I only execute the sub-query(marked in bold) it returns 7 records(the sub-query is supposed to return all the end-of-month date)rnrnQuery 1 takes more than 1 min to complete. The execution plan for query 1:rnrn |--Compute Scalar(DEFINE:([Expr1010]=CONVERT_IMPLICIT(int,[Expr1013],0)))rn |--Stream Aggregate(DEFINE:([Expr1013]=Count(*)))rn |--Nested Loops(Left Anti Semi Join, WHERE:(dim_date.[DATA_DATE]>fct_device.[DATA_DATE] AND ....)rn |--Nested Loops(Inner Join, OUTER REFERENCES:([t].[DATA_TIME_ID]))rn | |--Clustered Index Scan(OBJECT:(dim_date. where data_date>=28)rn | |--Table Scan(OBJECT:(fct_device AS [t])....)rn |--Clustered Index Scan(dim_date)rnrnThe dim_date(predicate data_date>=28) first does Nested Loops join with the fact table, and then join with dim_date again(to do the Not Exists process). And seems it doesn't use the partition at all(no parallelism)... rnrnI initially believed query 1 will be optimized to execute the sub-query first and then do the other steps, and it will be equivalent to the query below:rnrn(query 2)rnrn[code=SQL]Select count(1) from fct_device trnWhere t.monitored_Id=2 andrn t.data_time_id in (rn 20111031,20111130,20111231,20120131,20120229,20120331,20120430rnrn )[/code]rnrn Plan for query 2:rnrn |--Compute Scalar(DEFINE:([Expr1004]=CONVERT_IMPLICIT(int,[globalagg1006],0)))rn |--Stream Aggregate(DEFINE:([globalagg1006]=SUM([partialagg1005])))rn |--Parallelism(Gather Streams)rn |--Stream Aggregate(DEFINE:([partialagg1005]=Count(*)))rn |--Table Scan(...)rnrnQuery 2 takes 15 sec to complete. You can see it takes the advantage of the partition table by running in parallelism.rnrnrnAfter that I did another modification and it's the most weird part...rnrnquery 3:rnrn[code=SQL]Select count(1) from fct_device trnWhere t.monitored_Id=2 andrn t.data_time_id in (rn select [b]Cast(data_time_id as char)[/b] from dim_date trn where data_date >= 28 andrn not exists(select 1 from dim_datern where data_date > t.data_date and rn data_year = t.data_year andrn data_month = t.data_month )rn )rn[/code]rnrnThe only change I made(marked in bold) is to cast the data_time_id to char in the sub-query first. I thought it would be a performance penalty because the data_time_id in both fact table(fct_device) and dimension table(dim_date) is INT type but I was wrong..rnrnQuery 3 takes less than 1 min(still more than what query 2 takes of cause but better than query 1)rnrnPlan for query 3:rnrn|--Compute Scalar(DEFINE:([Expr1011]=CONVERT_IMPLICIT(int,[globalagg1014],0)))rn |--Stream Aggregate(DEFINE:([globalagg1014]=SUM([partialagg1013])))rn |--Parallelism(Gather Streams)rn |--Stream Aggregate(DEFINE:([partialagg1013]=Count(*)))rn |--Hash Match(Right Semi Join, HASH:([Expr1012])=([t].[Data_time_Id]), RESIDUAL:(fct_device.[Data_time_Id]=[Expr1012]))rn |--Bitmap(HASH:([Expr1012]), DEFINE:([Bitmap1015]))rn | |--Parallelism(Distribute Streams, Broadcast Partitioning)rn | |--Nested Loops(Left Anti Semi Join, WHERE:(dim_date.[DATA_DATE]>fct_device.[DATA_DATE]...)rn | |--Compute Scalar(DEFINE:([Expr1012]=CONVERT_IMPLICIT(int,CONVERT(char(30)...)rn | | |--Clustered Index Scan(OBJECT:(dim_date where data_date>=(28))rn | |--Clustered Index Scan(OBJECT:(dim_date)rn |--Table Scan(OBJECT:(fct_device where monitor_id =2 and PROBE([Bitmap1015])rnrnSeems the CONVERT makes the optimizer decide to execute the sub-query first, and apparently it made a very well decision..rnrnI think the key is to take advantage of the partition table but I am not an expert.. So can someone please help me understand what's going on here it would be great!rnrnthanksrnrnp.s Where can I find some really good articles which can help me understand what execution plan shows(e.g. what is RESIDUAL in query plan)? many thanksrnrnp.p.srnrn----update-----rnrnThe estimated execution gives the estimated cost:rnrnQuery 1 25% (actual: more than 1min)rnrnQuery 2 12% (actual: 15 sec)rnrnQuery 3 63%(actual: ~50 sec)rnrnAnd I already updated the statistics for both tables before querying.
GetTextExtentPoint32 函数的使用
函数功能:该函数计算指定的正文字符串的高度和宽度。 函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize); 参数: hdc:设备环境句柄。 lpString:指向正文字符串的指针。此字符串不必以\0结束,因为cbString指定了字符串的长度。 cb
悬赏解决GetTextExtentPoint32W计算某些泰文字符宽度为0的问题
最近做海外支持,用GetTextExtentPoint32W函数计算泰文字符的宽度,测试代码如下: int main() { HFONT hFont = CreateFont( -15,0,0,0,4
GetTextExtentPoint32函数是干什么用的啊?
我刚开始学windows编程,看到书上教输出字体的例子中有一个GetTextExtentPoint32函数,它说是获取字符串的宽度,可是,我去掉这个函数,程序一样可以执行,也可以在屏幕上输出字体,那么
使用CDC::GetTextExtent出现了问题的奇怪问题,m_hDC 是有效的,但GetTextExtent内部调用GetExtentPoint32有时失败
本人写了一个程序,使用了一个开源的ChartCtrl(http://www.codeproject.com/KB/miscctrl/High-speedCharting.aspx),控件在刷新时要使用
为何我用GetTextExtentPoint32这个API总是得不到正确的文本长度?
原文转载自:http://bbs.csdn.net/topics/80515448 呵呵,偶问题解决了,不能独享,贴出来,楼主看一下,有一个步骤是必须的,就是取得主窗口的FONT,然后设置DC的FONT,然后再计算,这样才正确,参考下面的代码 CSize s; CFont *font = this->GetFont(); CFont *def_font = NULL;
Session_Start不准确?
最近我在用Global.asax Session_Start的做在线用户统计的时候发现,这个事件执行不<em>准确</em>.rnrn我把用户数据记录了下来rnip_时间_sessionid_操作系统_浏览器版本rn...rnipxx.75.80.47_2007-4-12 12:10:02_ecukuz2eonepasjvchtsl0rq_WinXP_IE_6_0rnipxx.75.80.47_2007-4-12 12:10:02_ddcisl22yoz4fyuhfpmwedun_WinXP_IE_6_0rnrn同一个用户在同一时间会产生多个session,当然这也有可能是同一个局域网的多个用户,但是这种数据很多,而且同时会有n条,这个明显就不太正常。rnrn发生这个情况的可能会是什么内?在生成sessionid之前,浏览器同时发生了多个请求?结果导致对同一个用户多次触发Session_Start?rnrn如果这种情况存在,那怎么<em>准确</em>记录用户呢?rnrnrnrnrn
怎么排不准确
rn---------------rn[color=#0000FF]ID title brm nnn flash_sp title_Details url target dat_sjrn2 发展历程 No 0 6 省略… _self 2008-12-12rn5 下属企业 Yes 1 4 平安养老保险股份有限公司 省略… _self 2008-12-12rn6 下属企业 Yes 0 4 平安健康保险股份有限公司 省略… _self 2008-12-12rn7 下属企业 Yes 0 4 平安信托投资股份有限公司 省略… _self 2008-12-12rn9 下属企业 Yes 0 4 平安证券股份有限责任公司 省略… _self 2008-12-12rn10 下属企业 Yes 0 4 平安期货经纪股份有限公司 省略… _self 2008-12-12rn11 下属企业 Yes 0 4 深圳平安银行股份有限公司 省略… _self 2008-12-12rn12 企业产品 Yes 1 2 平安寿险 省略… _self 2008-12-12rn13 企业产品 Yes 0 2 平安证券 省略… _self 2008-12-12rn14 企业产品 Yes 0 2 平安银行 省略… _self 2008-12-15rn15 企业产品 Yes 0 2 平安信托 省略… _self 2008-12-12rn20 公司宪章 No 0 3 省略… _self 2008-12-12rn24 地公司宪章 No 0 3 省略… _self 2008-12-12rn25 企业简介 No 0 1 省略… _self 2008-12-12[/color]rnrn-----------------------------------------------------------------------rnsql="select * from [ten_sets] where flash_sp=flash_sp order by flash_sp asc"rnrs.open sql,conn,1,1rnrn--------------------------------------------------------------------rn可以输出下面这样的XML但数据一添加就有时会乱 请问高手怎样<em>准确</em>rn-----------------------------------------------------------------------rn[color=#FF0000]rnrn rn rnrnrnrnrnrn rn rn rnrnrnrnrnrnrnrn rn[/color]rnrn那位高人可以帮忙有代码供切磋
sizeof 结构体不准确
c语言代码中,通过sizeof(结构体)时,返回值不<em>准确</em> 解决方法: 在结构体前面加 #pragma pack(1) -> 结构体的边界对齐1字节
drawRect不准确的问题
在as项目里我用drawRect画了个矩形。rng.lineStyle(0, 0, 1);rng.drawRect(0, 0, this.width, this.height);rn但经过我测量后发现实际画的矩形要比我设置width和height都要多出1像素来。rn请问为什么会这样呢?
全文检索不准确
是不是他就天生的不<em>准确</em>呢 还是我的设置有问题rnrnselect * from F_Product where CONTAINS(title, '"*服*" AND "*电*"')rnrn明明有此记录,但是他检不出来
GetTextExtent的问题
我做了一个在一行文本S(仅一行, 就是像Editbox的一行文本)中搜索关键字K高亮显示的程序, 主要工作在View中, 在OnPaint函数中, 我用的是CPaintDC, 这行文本S的范围rect
GetTextExtent 老是出错!烦请高手给我看看。谢谢
我想自己写一个可以任意改变字体和大小颜色的静态文本框Static,以下代码在OnPaint()函数里实现的。 void CVariableStatic::OnPaint() { CPaintDC dc
GetTextExtent 获取的字符串像素宽度不准确
CSize sz(0, 0); CDC* pDC = AfxGetMainWnd()->GetDC(); if ( pDC ) { CFont lFont; lFont.CreateFontIndir
GetTextMetrics与GetTextExtent的区别
GetTextMetrics:获取当前字体的信息 GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度 对于这两个函数的作用,我在编程的时候,也有一定的困惑。因此,我也想,其他人在编程的时候也肯定有 同样的困惑。所以我把他们解释一下。不足之处,还请大家多多的添加 批评~~其实,我们对什么困惑呢?函数的调用方法,还是在返回值上? CDC::GetTextMetric
GetTextExtent函数的用法
各位楼主好:有问题向各位请教?(初学者) 程序实现功能:在键盘上输入字符时,在视图窗口依次显示键入的字符,当按下回车键时,自动换行。 void CEXECT1View::OnChar(UINT nCh
JSON.parse精度不准确
建议后台返回合法的json格式数据
linux-系统时间不准确
安装完系统发现时间与现实时间相差+8小时,经分析由以下产生。 我们在安装时选择的是上海,而centos5把bios时间认为是utc时间,所以+8小时给我们。这个时候的bios的时间和软件的时间是不一致的。一个代表 utc 一个代表我们设置的cst(+8时区)。 我们要做的调整是: 1、vi /etc/sysconfig/clock ZONE=&amp;amp;quot;Asia/Shanghai&amp;amp;quot; UTC=fals...
AlarmManager定时不准确
    今天用AlarmManager做定时功能期间,粗心大意之下, 踩了个坑,在此记录一下,提醒自己的同时希望能帮到其他小伙伴。首先申明一下,本文所要讲的时间不<em>准确</em>问题不是系统省电模式引起的问题,至于本人解决省电导致的定时时间不<em>准确</em>的方案,在此就不加以复述,为啥?因为我是做系统开发,不用考虑省电,并且我懒,直接改底层,大部分小伙伴们采用不了!    主要表现就是:明明自己定好了一定时间后的pen...
系统时间获取不准确~!~!~!
代码如下:rnrn System.DateTime currentTime = new System.DateTime();rn int today_now = currentTime.Day;rn int month_now = currentTime.Month;rn int year_now = currentTime.Year;rnrn都说可以单独取出 年 月 日的 int型, 但是 按着上面所写代码所得到的month_now,year_now,today_now 三个量都为1,这是为什么?rn我看了系统时间,都是<em>准确</em>的,为什么取到的都为1呢????
OnTimer不准确吗?
我的计时居然一分钟比计算机时钟慢十几秒,真是奇怪.rn我的程序40ms触发一次,25次秒加一.
GetTextMetrics和GetTextExtent区别
GetTextMetrics:获取当前字体的信息GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度对于这两个函数的作用,我在编程的时候,也有一定的困惑。因此,我也想,其他人在编程的时候也肯定有 同样的困惑。所以我把他们解释一下。不足之处,还请大家多多的添加 批评~~其实,我们对什么困惑呢?函数的调用方法,还是在返回值上?CDC::GetTextMetric
如果实现 类似 windows下面的 GetTextExtent的功能
如果实现 类似 windows下面的 GetTextExtent的功能
GetTextExtent函数出错问题?
各位楼主好:有问题向各位请教?(初学者) 程序实现功能:在键盘上输入字符时,在视图窗口依次显示键入的字符,当按下回车键时,自动换行。 void CEXECT1View::OnChar(UINT nCh
用GetTextExtent取得字符串的宽度和高度
用法: GetTextExtent 函数功能:使用该函数获得所选字体中指定字符串的高度和宽度 函数原型:CSize GetTextExtent(LPCTSTR lpszString, int nCount); 参数:   lpszString是字符串的指针   nCount是所包括的字符数 返回值 CSize是包含(cx,cy)2个成员的结构,cx是字符串的宽度,cy是字符串的高度...
记不准确的linux命令
Linux命令老是记不住,列出来就方便多了 1.wget http://downloads.rootkit.nl/rkhunter-1.2.8.tar.gz//下载rkhunter 2.tar -xzvf chkrootkit.tar.gz tar -czvf chkrootkit.tar.gz sunny/ 3.lsof -n -p 1584 //查看PID 158...
GC.fillPolygon颜色不准确
swt,往一个label上画一个颜色为215, 211, 215的矩形,画出来的颜色是214,211,214rn看swt文档描述:rnrnThe result of drawing on an image that was created with an indexed palette using a color that is not in the palette is platform specific. Some platforms will match to the nearest color while other will draw the color itself. This happens because the allocated image might use a direct palette on platforms that do not support indexed palette. rnrn不是太明白,是说Label不支持这个颜色,所以取了最近的颜色?rn如果我需要画出这个<em>准确</em>的颜色可以怎样解决呢?
NSTimer不准确问题
参考 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/index.html A timer is not a real-time mechanism; it fires only when one of the run loo
Float取值不准确
偶然间发现的一个问题,把字符串转成数值的时候有时候会不准:rn[code=Java]rnString data="3034.92054000007";rnFloat f=Float.valueOf(data);rnSystem.out.println(f);rn[/code]rn结果如下:3034.9207rnrn另外我测试了其他的字符串与结果,如下:rn0.92054000007 --- 0.92054rn1.92054000007 --- 1.92054rn34.92054000007 --- 34.92054rn134.92054000007 --- 134.92055rn334.92054000007 --- 334.92053rn1934.92054000007 --- 1934.9205rn2934.92054000007 --- 2934.9207rn3034.9205 --- 3034.9204rn3034.9201 --- 3034.9202rn3034.9202 --- 3034.9202rn3034.9203 --- 3034.9204rn3034.9204 --- 3034.9204rn3034.9205 --- 3034.9204rn3034.9206 --- 3034.9207rnrn不知道是什么问题,请教大家!
GetTextExtentPoint求文本间距问题
LPENUMLOGFONT lpLogFont = CTextFont::GetInstance()->GetTextFontFromName( lpTextFontName );rn LOGFONT Font = lpLogFont->elfLogFont;rn HFONT hFont = CreateFontIndirect( &Font );rn HFONT hOldFont = ( HFONT )SelectObject( m_hdc,&hFont );rn int iDistance = GetTextCharacterExtra( m_hdc );////这里的间距始终是0不知道为什么rn SIZE sizetemp;rn int nX1,nY1,nX2,nY2,temp;rn ///lpText为字符串指针rn ///nTextLen字符串长度rn ///point为字符串左上方点rn if( !GetTextExtentPoint( m_hdc,lpText,nTextLen,&sizetemp ) )rn return;rn nY1 = point->y;rn nX1 = point->x;rn nY2 = point->y + sizetemp.cx;rn nX2 = point->x + sizetemp.cy;rn 为什么求出来的范围总是比实际范围小一些,我这里没有用MFC都是用的GDI+
VC中GetTextMetrics和GetTextExtent用法区别
环境:Visual C++ 6.0 问题:GetTextMetrics和GetTextExtent用法区别 解决: 先来看看MSDN里对它们的解释: GetTextMetrics: CDC::GetTextMetrics BOOLGetTextMetrics( LPTEXTMETRIC lpMetrics) const; Return Value Nonzeroif the f...
关于 GetTextExtentPoint32 的问题
写一个记事本. 基本完工. 现在还有个问题没解决: 当行数超过文本文档所能显示的最大行时要向下滚屏,这个没问题. 但是所有超过的行的X光标位置都是错误的,最大只能到所能显示的行的最大长度. 例: 编辑
GetTextExtentPoint32函数不能获得对应字体的字符串宽高?
在调用此函数前已经将字体选入DC,但是,不管字体怎么改变,得到的高度总是16。 HFONT hFont = ::CreateFont(-m_nFontSize, 0, 0, 0, FW_NORMAL,
gettextextentpoint32
      函数功能:该函数计算指定的正文字符串的高度和宽度。    函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);    参数:    hdc:设备环境句柄。    lpString:指向正文字符串的指针。此字符串不必以/0结束,因为cbString指定了字符串的长度。
modBus传感器写入数据不准确
我现在是用JAVA的modBus来与传感器工装联调,在连接和写入简单数据的时候都还正常,但是当我一次要给传感器工装写入66个字节位的时候问题就出来了,我写入的数据跟我读出来的数据是不一致的,我读数据是没有问题的,经过好种软件测试过了,会不会是因为我写入的时候JAVA字节默认大于等于128的数值都以负数在字节中存储有关系,比如:128,0,1,1,1,14,39,16,0,0,0,0,99,26,63,-49,-58,71,78,68,73,82,0,77,72,45,55,49,50,66,0,0,48,50,57,70,72,51,50,51,50,3,32,0,0,0,49,26,82,52,0,0,0,49,26,82,52,0,0,0,20,0,0,0,50,0rnrn这是我写入的其中一个字节数组的原始数据,提示也是写入成功了的,想问下有没有见过这种问题的
PageHelper分页结果集不准确
PageHelper遇到resultMap的collection后,分页总是不对。 由于PageHelper分页总数是根据count(0)来计算出来的,而collection会把结果集合并(一对多的情况),计算总数在合并结果集之前,所以<em>计算结果</em>不对。同计数原理一样,分页实际在合并结果集之前进行的,这就导致了存在一对多情况时,实际返回的结果集个数和分页要求的每页结果集个数不一致,且如果最后一条记...
Gps获得的经纬度不准确
通过GPSGetPosition获得到数据rn纬度比实际纬度大0.002度左右rn经度比实际经度小0.004度左右rn测的位置与实际位置相差500米左右。请问各位高手这是什么原因。 rn测试环境空旷的环境,6-8颗卫星rn
SetBounds定位不准确问题
我在winform主页中,点击按钮,用SetBounds打开新界面,可是新打开的界面,只有第一次打开时起始位置<em>准确</em>,之后,每点击一次,就会往右下角移动一段距离,请问这情况谁遇到过?rnrn下面是简化代码以及方法:rnrn//打开新界面rn private void dakai(Form formChild)rn rn formChild.MdiParent = this;rn formChild.SetBounds(0, 0, formChild.Width,formChild.Height);rn formChild.Show();rn rn//关闭旧界面rn private void guanbi()rn rn Form activeChild = this.ActiveMdiChild;rn activeChild.Close();rn rn//点击事件rnprivate void dianji()rn guanbi();rn dakai(new jiemian());rnrn下面是图:rn[img=https://img-bbs.csdn.net/upload/201902/27/1551260911_523840.png][/img]rn[img=https://img-bbs.csdn.net/upload/201902/27/1551260923_869290.png][/img]rn
ffmpeg -r参数不准确
ffmpeg -r 30,  那么一秒钟发出的rtmp msg包应该为30个左右。 但实际上,  2017/02/23 13:48:36 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56200 mlen=2773 msid=1 nbufs=22  2017/02/23 13:48:36 [debug] 5325#53
Windows程式开发设计指南(十七)文字和字体
17. 文字和字体 显示文字是本书所要解决的首要问题,现在我们来研究Microsoft Windows中各种有效字体和字体大小的使用方法以及调整文字的方式。 Windows 3.1发表的TrueType使程式写作者和使用者以灵活的方式处理文字的能力大幅增强。TrueType是轮廓字体技术,由Apple Computer公司和Microsoft公司开发,并被许多字体制造商支援。由於TrueTyp
Windows程式开发设计指南(十四)点阵图和Bitblt
14. 点阵图和Bitblt 点阵图是一个二维的位元阵列,它与图像的图素一一对应。当现实世界的图像被扫描成点阵图以後,图像被分割成网格,并以图素作为取样单位。在点阵图中的每个图素值指明了一个单位网格内图像的平均颜色。单色点阵图每个图素只需要一位元,灰色或彩色点阵图中每个图素需要多个位元。 点阵图代表了Windows程式内储存图像资讯的两种方法之一。储存图像资讯的另一种形式是metafile,我
文字和字体
显示文字是本书所要解决的首要问题,现在我们来研究Microsoft Windows中各种有效字体和字体大小的使用方法以及调整文字的方式。Windows 3.1发表的TrueType使程式写作者和使用者以灵活的方式处理文字的能力大幅增强。TrueType是轮廓字体技术,由Apple Computer公司和Microsoft公司开发,并被许多字体制造商支援。由於TrueType字体能够连续缩放,并能应
windows xp sp3 系统gdi32.dll所有导出的API函数列表大全(整理在此,方便查阅,学习)
gdi32.dll是Windows GDI图形用户界面相关程序,包含的函数用来绘制图像和显示文 ordinal hint RVA name 1 0 00034CD2 AbortDoc 2 1 00036009 AbortPath 3 2 0002F7D5 AddFontMemResourceEx
android百度地图定位的经纬度不准确
求怎么解决 定位的经纬度有误差 而且还挺大的 怎么解决 求指导
求助,Extjs 分页不准确
[code=JScript]rn //创建数据存储对象rn var createStore = function( store,treeId)rn var ds=new Ext.data.Store( rn proxy:createProxy(treeId),rn reader:new Ext.data.JsonReader(rn totalProperty:'totalProperty',rn root:'root',rn store),rn paramNames:rn start : "start",rn limit : "limit",rn sort : "sort"rn rn ); rn return ds;rn rnrnrn //创建表格底部工具条rn var createBBar = function(tempStore,bbarItems)rn var bbar = new Ext.PagingToolbar( rn pageSize:18, rn store: tempStore, rn displayInfo:true, rn items:bbarItems,rn displayMsg:'显示第0条到1条记录,一共2条', rn emptyMsg:"没有记录" rn )rn addClickEventBybbar(bbar);rn return bbar;rn rn[/code]rnrn[img=http://b220.photo.store.qq.com/psb?/f07835f1-c745-4436-bd79-8a229d901c48/lq8r5fL9MCMB8inmAh3xZY7vZ9qzWxwmTpE7r5ZkIho!/b/YamBKoO3KQAAYkfmIoP8KQAA][/img]rnrnrn怎么回事 ? 怎么解决下啊?rn
dateFromString转换时间不准确
在进行时间转换的时候使用dateFromString经常会遇到时间转换不<em>准确</em>的问题,可以尝试使用以下方法进行处理: 1、设置localeWithLocaleIdentifierNSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm";
真机测试 CLLocationManager 定位不准确
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocationrnrn rn location = [newLocation coordinate];rn curLat =[NSString stringWithFormat:@"%f",location.latitude];//get latitudern curLng =[NSString stringWithFormat:@"%f",location.longitude];//get longitude rn rn 定位不<em>准确</em>,有1公里左右的偏差rn真机测试rn
拉格朗日插值 不准确的问题
我有50个节点,利用这50个节点构造拉格朗日插值。每个节点的x值都能正确显示对应的y值。可是当我取节点以外的x值时,所取的x值在两头处时,y值明显不正确,当x值在中间时就比较正确。比如x节点1,3,5,7,9,,,,100。当我x取1.5或是99.5时y值明显不正确。这是为什么?在程序中怎么解决这个问题?rnfloat jg1,jg2=0;rnint m,n;rnfor(m=0;m
多媒体定时器不准确的问题?
我用VC做了一个ActiveX控件,采用多媒体定时器每隔50ms处理一项任务,rn我在应用程序中调用此控件一切正常,但在Web浏览器中使用此控件就出现rn如下的问题:rn 一旦操作其它应用程序,例如打开和关闭,就会发现多媒体定时器得不到rn调度,最坏的情况下,可能过了5秒种才调度。
DiskFree获取的值不准确
DiskFree获取的值与实际总是有出入,不是大几十M就是小几十M,诡异,怎么办?有没别的方法获得剩余空间值?
OPENCV 最小外接圆不准确
函数名://! computes the minimal enclosing circle for a set of pointsCV_EXPORTS_W void minEnclosingCircle( InputArray points, CV_OUT Point2f&amp;amp; center, CV_OUT float&amp;...
[求助]触发器定位不准确
有两个表:rntest1:rncreate table test1(rnyy varchar(50) primary keyrnggrn)rncreate table temp1(rnyy varchar(50) primary keyrn)rn我建立一触发器,功能是:更新表test1的gg字段内容,找到test1更新记录rn所对应的主键yy,在表temp1中,寻找是否存在此主键,如果存在,不进行更新rn如果不存在,则插入此主键值到表temp1rnrn触发器为:rnREATE TRIGGER updateto ON [dbo].[test1] rnFOR instead of updaternASrndeclare @t_yy as varchar(50)rndeclare @t_gg as varchar(50)rndeclare @t_row as varchar(50)rnbeginrnselect @t_yy=yy,@t_gg=gg from test1rndelete from temp1 where yy=@t_yyrninsert into temp1 select a.yy from test1 a where a.yy=@t_yyrnendrnrn但是,运行结果:rntemp1表中只插入test1表的最后一个记录的主键值rn请高手指点
console.log 打印的值不准确
console.log 不服预期 有些时候在使用·console.log() 打印对象的时候,打印出来的值不符合预期。这是为什么呢? 有一种说法是:console.log() 是一个异步的方法,浏览器在处理的时候对于这种读取 i/o 的操作一般会放到比较靠后的位置去处理。所以有些时候打印出来的值不符合预期。 还有一种说法是,当在打印一个对象的时候,由于对象中的值是引用的内存中的值,所以就会存...
NSTimer不准确与GCDTimer详解
NSTimer不准,scheduleTimer放在runloop里面,受runloop模式影响会不准 //    [NSTimer scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:]; 所以创建GCD定时器 //dispatch_source_t timer = dispatch_source_cre
service后台定时任务不准确
我需要实现的功能是: 启动一个service service每个一定的时间会发送一条广播, 现在的情况是, 如果我没有锁屏 在正常状态下, 定时任务不会有延迟, 指定2秒就是2秒, 但是一旦进入锁屏状态, 每次的间隔时间就很不稳定, 有时候可能2 3 秒就会广播一次, 有时候会几十秒才广播一次, 请问我应该怎么做才能使它在锁屏状态下也能准时地发送广播呢?rnrn我查了一下, 使用acquireWakeLock里面的这个方法的话, 能保证一直运行, 但是耗电量会剧增, 请问有什么好的办法能解决这些问题呢? 就好像QQ能及时收到信息的推送但是又不会大量增加耗电, 这样是怎么做到的呢? 查了不少资料, 大多讲的都是这个方法。。。 希望各位大牛帮忙。。 谢谢哈[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img]rnrn下面是我service中的代码, rnrn[code=java]public class BgService extends Service rn private PowerManager.WakeLock mWakeLock;rnrn @Overridern public IBinder onBind(Intent intent) rn // TODO Auto-generated method stubrn return null;rn rnrn @Overridern public void onCreate() rn // TODO Auto-generated method stubrn super.onCreate();rnrn acquireWakeLock();rnrn Timer timer = new Timer();rn timer.schedule(new UdpSend(), 0, 2 * 1000);rnrn rnrn private void acquireWakeLock()rn rn if (null == mWakeLock)rn rn PowerManager pm = (PowerManager)this.getSystemService(Context.POWER_SERVICE);rn mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK| PowerManager.ON_AFTER_RELEASE,"");rn if (null != mWakeLock)rn rn mWakeLock.acquire();rn rn rn rnrn @Overridern public void onDestroy() rn if (null != mWakeLock)rn rn mWakeLock.release();rn mWakeLock = null;rn rn super.onDestroy();rn [/code]
javascript浏览器验证不准确
现在IE9显示成了IE5rn谷歌火狐4和Safari5.0.5显示成了Netscape5rn这是地址:http://www.w3school.com.cn/tiy/t.asp?f=hdom_browser
请问 eof 为什么不准确
我用ifstream 打开一个其他机器的共享文件,如ifstream aa("\\172.0.0.1\d$\abc.txt"),然后读的过程中,还没有读完时,就断开网线,这时竟然eof为true ,aa.eof() == ture,这是为什么啊? 文件并没有结束. 这样,我就很难区分文件读失败和文件结束这两种情况了.
GetDiskFreeSpaceEx获取的硬盘容量不准确
我的硬盘是320G的,我用GetDiskFreeSpaceEx获取每个分区的容量相加,但是最后结果只有280多Grnrn是怎么回事?是不是有什么系统保留的隐藏分区?
c++ builder定时器不准确
早就听说c++ builder下定时器50ms定时间隔定时不准,但是我的定时间隔设的是63ms,但是还是定时不准。哪位高人有解决办法?
系统时钟为什么老是不准确
本人电脑的系统时钟在每次关机后好像是停止不走的,弄得我每次开机都要重新rn设置时间,百般设置都无效,不知是何原因?望各位大侠赐教!
批量更新问题(也许不准确)。
问题是 这样的rn有两个表table1,table2rntable1中的一些记录的一个字段要更新为table2中某条记录的一个字段值。rntable1,table2有一个关联的 字段,更新的条件就是该字段相等。rn如下:rntable1:rnid groupid ,groupnamern1 0001, name1rn2 0002, name1rn3 0003, name1 rn4 0004, name1rnrn5 0005, name2rn6 0006, name2rn7 0007, name2 rn8 0008, name2rnrntable2:rngroupid ,groupnamern 34, name1rn 45, name2rnrn要等到更新后的table1如下:rn//groupname相同就是更新的条件rntable1:rnid groupid ,groupnamern1 34, name1rn2 34, name1rn3 34, name1 rn4 34, name1rnrn5 45, name2rn6 45, name2rn7 45, name2 rn8 45, name2rnrnrn请问我该怎么写sql?rn
430_AD采样不准确问题
Q:  学生正在做电源题目,AD检测电源输出电压时发现一系列问题,请各位老师帮忙解答一下,谢谢啦。 一、4个疑问 1. MSP430F1611的AD是什么类型的? (SAR型、开关电容、Flash、双积分型、etc) 2. MSP430F1611分压电阻接多少合适?(输出直流电压为10~20V) 3.AD输入端接跟随器误差能降低一些,但效果不明显,且用AD817做的更随器,要高于1.1V才
T3批次数据不准确
问题描述:存货启用了批次管理,14年结转到15年后,做出库时,选择存货,跳出的批次选择界面中批次结存数量为-147,批次台账中的结存数量为28,两者不一致,如下图:再来查询一下批次结存表:发现批次结存表上入库数量是270,出库数量是417,结存数量是-147。如下图:批次结存表的入库、出库数量、结存数量与批次台账中的完全不一致!!!先看入库数量,批次台账显示的是“期初结存” 175,而批次结存表中
mysql模糊查询结果不准确
mysql模糊查询结果不<em>准确</em>,用select * from table where Illness like ‘%好%’ 在客户端上查询是正确的,但是放在程序中用mysql_real_query等查时 结果集中不包含 “好” 的结果也出来了,会是神马原因呢rn
线程池的getActiveCount()不准确问题
线程池的getActiveCount()不<em>准确</em>问题 getActiveCount () 按照 javadocs 的说法是 “Returns the approximate number of threads that are actively executing tasks.” 也就是“返回正在执行任务的大致线程数”,请注意用词 approximate 。 我们去查看一下源码: public ...
含有Null查询不准确
rn查询语句:rnrn[code=C#] string ls_sql = "select * from tblWork";rnrn if (DropDownList11.SelectedItem.Value != null)rn rn strSQL = ls_sql + " where " + DropDownList1.SelectedItem.Value + " like '%" + DropDownList11.SelectedItem.Value + "%' ";rn rn if (DropDownList12.SelectedItem.Value != null)rn rn if (strSQL == null)rn rn strSQL = ls_sql + " where " + DropDownList2.SelectedItem.Value + " like '%" + DropDownList12.SelectedItem.Value + "%'";rn rn elsern rn strSQL = strSQL + DropDownList3.SelectedItem.Value + ' ' + DropDownList2.SelectedItem.Value + " like '%" + DropDownList12.SelectedItem.Value + "%'";rnrn rn [/code]rnrnrnrnResponse.Write(strSQL);得到的SQL语句为:rnselect * from tblWork where M_Event like '%test%' And S_Event like '%%' rn没有得到任何记录,rnrn但是如果这样:select * from tblWork where M_Event like '%test%'rn可以得到记录rnrn后来发现S_Event存在Null,所以出现该问题,针对上述查询,请问高手如何解决?rnrnrnrnrnrnrn
VB数据库查询不准确的问题求解
VB的数据库查询语句,查询结果是随机的。比如查询“张”,按理应查询出所有有张的姓名,但其他姓名都查询出来了。而有时输入比较简单的查询,又偶尔会正确。rn 使用VB6的SP5补丁后,在VB6环境下跑,问题就基本解决了(虽然偶尔还有不<em>准确</em>的情况),但只能是在VB6里运行才是这样,如果编译成EXE,则又不行了,查询还是随机的。rn 请问各位大虾,有无解决办法,这个现象可能的原因是什么,如何才能使EXE可用?有无可能是DLL问题?谢谢!
js,数字运算不准确
function accMul(arg1,arg2) { var m=0,s1=arg1.toString(),s2=arg2.toString(); try{m+=s1.split(&quot;.&quot;)[1].length}catch(e){} try{m+=s2.split(&quot;.&quot;)[1].length}catch(e){} ret...
round()函数四舍五入不准确
update students set 匀称度=round(体重/身高,3)rn体重/身高=0.334567 的数据就成为 0.334 而不是0.335 能解决么?rnfloat数据
JVM和GC的不准确小结
-
PHP浮点数运算不准确的问题
echo intval(0.58*100);//结果为57 echo intval((0.1 + 0.7) * 10);//结果为7 产生这样的原因是计算机内部对部分浮点数不能<em>准确</em>地用二进制表示,就像我们不能用十进制<em>准确</em>表示10/3一样. 浮点数在计算机内部的表示:IEEE 754.不懂的自己查找资料 也可以参考一下鸟哥这篇文章:http://www.laruence.com/2013/0...
VS中断点位置不准确
可能的原因有: 1.开启了编译优化 2.当前文件的编码方式有问题,试着另存为(UTF-8带签名)编码方式文件
mc9s12g48频率采集不准确
用的mc9s12g48单片机。通过捕获中断采集脉冲数和匹配中断定时间来计算采集频率rn[code=c]rnvoid timer_init(void)rnrnTSCR1_TEN=0;//关定时器rnTFLG2_TOF=1;rnrnTIOS_IOS0=1;//匹配中断,设置1ms定时rnTCTL2_OM0=0;rnTCTL2_OL0=1;rnTC0=0X3E8;rnTIE_C0I=1;rnTFG1_C0F=0;rnrnTIOS_IOS5=0;//捕获中断,采集脉冲rnTCTL3_EDG5A=1;rnTCTL3_EDG5B=0;rnTIE_C5I=1;rnTFLG1_C5F=1;rnrnTSCR2=0X85;//设置定时器工作频率rnTSCR1_TEN=1;//开定时器rnrnrn__interrupt 8 void timch0(void)//定时器通道0匹配中断,用于定时rnrnTFLG1_C0F=0X01;rnTC0+=0X3E8;rnflag_1ms=1;rntime_50ms++;rnif(time_50ms==50)//50ms计算一次脉冲数rnrntime_50ms=0;rnflag_50ms=1;rntemp_zsplus=zs_plus;rnzs_pllus=0;rnrnrn__interrupt 13 void timch5(void)//定时器通道5,捕获中断采集脉冲rnrnTFLG1_C5F=1;rnzs_puls++;rnrnrn[/code]rn频率计算我就不写了,我在这边采集到的temp_zsplus值有问题。大概采集有几次会乱跳,我用一个数组保存这个值,20个值,在频率稳定的情况下,频率越高就会出现越多temp_zsplus值和其他正常比大概1.15倍的值。另外,我试过,不给频率不进捕获中断,用定时器和标准时间对比是准的。提供频率采集后,定时器时间比时间慢了,可能有几次中断没进。高手们帮我看看有什么问题。谢谢
GetCursorPos获取坐标值不准确
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;rn CPoint pt;rn CRect rt;rn GetCursorPos(&pt);rn ScreenToClient(&pt);rnrn为了实现点击操作Tree,我用了如上面的方法,通过得到坐标值来确定当前鼠标点中的项,可是总是捕捉不到正确的坐标值。分辨率为1920*1080的屏幕,最后一次点击时调试出现的是842,577.哪位高手知道原因吗?多谢了rn
删除记录计数不准确~~~
listview记录如下数据:rn1 19.37 -0.63rn2 22.89 Up-Errrn3 21.68 1.68rn4 20.37 0.37rn5 18.38 -1.62rn6 15.96 Down-Errrn7 1.64 Down-Errrn8 1.64 Down-Errrn9 13.86 Down-Errrn10 12.65 Down-Errrn11 17.03 Down-Errrn12 18.73 -1.27rn13 23.75 Up-Errrn14 23.75 Up-Errrn15 25.50 Up-Errrn16 24.19 Up-Errrn当我选择删除含有"Up-Err"记录的记录的时候,text1计数减一rn含有"Down-Err"记录的记录的时候,text2数减一 rn最初记录有"Up-Err"的text1=5 当我选择记录2删除的时候不是text1=4有时候正确,当我选择删除记录13的时候又不正确了rn含有"Down-Err"记录的也是一样,有时候删除含"Up-Err"居然是text2减少~~~rn大家帮看看我的代码:rn Dim n As Integerrn n = ListView1.SelectedItem.Indexrn ListView1.ListItems.Remove nrn If ListView1.SelectedItem.SubItems(2) = "Up-Err" Thenrn Text1.Text = Text1.Text - 1rn ElseIf ListView1.SelectedItem.SubItems(2) = "Down-Err" Thenrn Text2.Text = Text2.text - 1
mysql查询为什么不准确
SELECT * from se_contractcust_rel where REL_ID=160816071200000009;rn返回结果rnrel_id contract_id cust_idrn160816071200000009 160816071200000008 100000271039rn160816071200000015 160816071200000014 100000271039rn结果多出来一条,虽然找到问题,rel_id类型是varchar,查询条件不标准,但是为什么会出现这种情况,mysql中是什么机制导致的
pythoon计算不准确,为什么?
比如[code=python]>>> 3/10.rn0.29999999999999999rn>>> 10./3rn3.3333333333333335[/code]rnpython的计算是怎么实现的,为什么计算有误差呢?
hadoop mapreduce数学运算不准确
我自己实现了一个PageRank算法,但是出现了一个诡异的bug,reduce函数中的数学运算结果错误。代码如下:rnimport java.io.IOException;rnimport java.text.DecimalFormat;rnimport java.text.NumberFormat;rnimport org.apache.hadoop.fs.Path;rnimport org.apache.hadoop.io.LongWritable;rnimport org.apache.hadoop.io.Text;rnimport org.apache.hadoop.mapreduce.Job;rnimport org.apache.hadoop.mapreduce.Mapper;rnimport org.apache.hadoop.mapreduce.Reducer;rnimport org.apache.hadoop.mapreduce.lib.input.FileInputFormat;rnimport org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;rnrnpublic class PageRank rn static class PageRankMapper extends Mapper rnrn // map执行的方法rnrn public void map(LongWritable key, Text value, Context output)rn throws IOException, InterruptedException rn Text id;rn // 得到一行的值rn String line = value.toString();rn // 将其分开成key和valuern String[] values = line.split("\t");rn // 将其赋值到key和value上rn // key.set(values[0]);rn Text t = new Text(values[0]);rn value.set(values[1]);rn // 再将value里面的东西分开来rn String[] ids = value.toString().split(" ");rn // 每一个网页初始pr值rn // DoubleWritable pr = new DoubleWritable(Double.valueOf(ids[0]));rn // 后面的链接地址rn String url = "_";rn // 进行存储rn for (int i = 1; i < ids.length; i++) rn url += ids[i] + " ";rn id = new Text(ids[i]);rn // 向结果里面写进key-value值rn output.write(rn id,rn new Text(String.valueOf(Double.valueOf(ids[0])rn / (ids.length - 1))rn + ""));rn rnrn // 还要将后面的链接加上来rn output.write(t, new Text(url));rn rnrn rnrn static class PageRankReducer extends Reducer rnrn // reduce执行的方法rn public void reduce(Text key, Iterable values, Context out)rn throws IOException, InterruptedException rnrn double sum = 0;rn // 将网页链接出去的地址找出来rn String url = "";rn // 进行循环相加rn String dw = "";rn for (Text value : values) rn dw = value.toString();rn if (!dw.contains("_")) rn // 转换成double进行相加rn sum += Double.valueOf(dw);rn else rn dw.replace("_", " ");//此处字符替换也不成功,如果输出url,始终有个"_"rn url = dw;rn rnrn rn rn double re=0;rn re = 0.15 +0.85*sum;//sum的值是{1.0,0.5,0.5,2.0},正常的输出是{1.0,0.575,0.575,1.85}rn //但是结果输出为{1.0,0.638749999999,0.63874999999,1.7224999999}rn String result = new String(re+"");rn out.write(key, new Text(result));rnrn rnrn rnrn public static void main(String[] args) throws Exception rnrn // TODO Auto-generated method stubrn NumberFormat nf = new DecimalFormat("00");rn // Configuration conf = new Configuration();rn // 进行迭代的过程rn for (int i = 0; i < 1; i++) rn // 文件的输入输出路径rn String[] otherArgs = "/xiong/out" + nf.format(i),rn "/xiong/out" + nf.format(i + 1) ;rn if (otherArgs.length != 2) rn System.err.println("Usage:wordcount ");rn System.exit(2);rn rnrn Job job = new Job();rn job.setJarByClass(PageRank.class);rnrn job.setMapperClass(PageRankMapper.class);rn job.setReducerClass(PageRankReducer.class);rn job.setCombinerClass(PageRankReducer.class);rnrn job.setMapOutputKeyClass(Text.class);rn job.setMapOutputValueClass(Text.class);rn job.setOutputKeyClass(Text.class);rn job.setOutputValueClass(Text.class);rnrn System.out.println(otherArgs[0]);rnrn FileInputFormat.addInputPath(job, new Path(otherArgs[0]));rn FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));rnrn if (job.waitForCompletion(true))rn System.out.println("run job");rn elsern System.out.println("job failed");rnrn rn rnrnrnrn问题有两个:1、dw.replace("_", " ");//此处字符替换也不成功,如果输出,始终有个"_"rn 2、re = 0.15 +0.85*sum;//sum的值是(查看过,可以保证){1.0,0.5,0.5,2.0},正常的输出是{1.0,0.575,0.575,1.85}rn //但是结果输出为{1.0,0.638749999999,0.63874999999,1.7224999999}rnrn原始的输入数据为:rn1 1 2 3rnrn2 1 4rnrn3 1 4rnrn4 1 1
为什么event.clientY有时候不准确
我有两个操作,如果我执行了另一个操作后rn我的event.clientY就会不<em>准确</em>,应该是偏了一个固定值,恩event。clientX却是正常的rn当我拖动一下滚动条后,则都正确了,不知道我描述的大家能理解不rn有谁知道为什么吗
如何判断邮件地址不准确
rn发送成功rnrnrnrn如果sjk80830@163.net这个邮件地址不对的话就会出现错误,怎么才能让判断出错的话就提醒出错,或不管对错都出现发送成功呢。rn
为什么GetTextExtentPoint调用之前要给DC设置字体它在会准确计算呢?
难道默认字体它就计算错误了?rnMSDN上并没有提到设置字体的问题啊。请大家给个合理的解释。
一个计算结果
[code=C/C++]rnvoid ConvertInitE(double initE, double finalE, char* buf)rnrn //initE=-1.3rn //MAX_VOLT=2.56rn //finalE=-1.9rn double volt = 0;rn unsigned __int16 ivolt;rnrn volt =initE * -1.0;rn ivolt = (unsigned __int16)((volt + MAX_VOLT) * 0xFFF / (MAX_VOLT * 2));rn unsigned __int8 m_iLow8 = ivolt & 0xFF;rn unsigned __int8 m_iHigh4 = (ivolt & 0xf00) >> 8;rn //转十六进制rn ValueToBinary(m_iHigh4, (char*)buf);rn ValueToBinary(m_iLow8, (char*)buf+1);rn[/code]rnm_iHigh4,m_iLow8是多少?转成十六进制的是多少?最好能给翻译成C#代码,感谢
后缀表达式计算结果
import java.util.Stack;public class StackApp { private Stack stack; private String[] content; public StackApp(String content) { // TODO Auto-generated constructor stub
计算结果及历史记录
课程涉及微信、小程序、H5和CSS3以及JS基础知识,内容涵盖项目介绍、布局、算法运算、小数点处理、<em>计算结果</em>显示以及计算历史记录等技术细节
表示计算结果
本课程包含15章72个小节课程,内容涵盖:开发环境搭建、HTML概述、HTML元数据、标记文字、组织内容、文档划分、表格、表单、表单输入、其他表单元素、嵌入内容、图形绘制Canvas、多媒体、Web存储、拖放效果等。
“A+B+C”的计算结果
这是一个非常简单的题目,意在考察你编程的基础能力。千万别想难了哦。 输入为一行,包括了用空格分隔的三个整数 A、B、C(数据范围均在−40 ~ 40 之间)。 输出为一行,为“A+B+C”的<em>计算结果</em>。 样例输入 22 1 3 样例输出 26 import java.util.Scanner; public class Main { public static void main(String...
oracle数据库操作软件golden下载
oracle数据库操作软件goldenoracle数据库操作软件golden 相关下载链接:[url=//download.csdn.net/download/china_demon/2090660?utm_source=bbsseo]//download.csdn.net/download/china_demon/2090660?utm_source=bbsseo[/url]
消除整个目录下所有dfm文件中控件的ImeName属性的小程序下载
delphi控件的ImeName属性在开发过程中会自动填入输入法,编译后的程序给其它人用时,其它的人可能常用的不是这种输入法,所以在程序发布前要去除所有的ImeName属性,这个小程序就是解决这一问题。 相关下载链接:[url=//download.csdn.net/download/jopi/3829694?utm_source=bbsseo]//download.csdn.net/download/jopi/3829694?utm_source=bbsseo[/url]
使用递归获取文件夹下载
用递归获取文件的方法,,如果有问题的小伙伴可以来问我。。乐意解答 相关下载链接:[url=//download.csdn.net/download/qq_17637725/8061733?utm_source=bbsseo]//download.csdn.net/download/qq_17637725/8061733?utm_source=bbsseo[/url]
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件
我们是很有底线的